No, no lo hace, pero probablemente sea una buena idea si ya no va a usar la piscina.
Motivos para llamar pool.close
o pool.join
bien lo dijo Tim Peters en esta publicación SO :
En cuanto a Pool.close (), debe llamarlo cuando, y solo cuando, nunca enviará más trabajo a la instancia de Pool. Por lo tanto, normalmente se llama a Pool.close () cuando finaliza la parte paralelizable de su programa principal. Luego, los procesos de trabajo terminarán cuando todo el trabajo ya asignado se haya completado.
También es una práctica excelente llamar a Pool.join () para esperar a que finalicen los procesos de trabajo. Entre otras razones, a menudo no existe una buena manera de informar excepciones en código paralelizado (las excepciones ocurren en un contexto relacionado solo vagamente con lo que está haciendo su programa principal), y Pool.join () proporciona un punto de sincronización que puede informar algunas excepciones que ocurrieron en procesos de trabajo que de otro modo nunca verías.
pool.join()
entoncespool.close()
una vez que he iniciado todos los subprocesos del grupo, pero no he intentado usarlospool.imap_unordered()
como iterable.