Python Multiprocesamiento: piscina.mapa vs uso de las colas

Estoy tratando de usar el multiprocessing paquete para Python. Mirando tutoriales, de la forma más clara y sencilla técnica parece ser el uso de pool.map, que permite al usuario fácilmente el nombre del número de procesos y de paso pool.map una función y una lista de valores para que la función de distribuir a través de la Cpu. La otra técnica que he encontrado es uso de las colas administrar un grupo de trabajadores. Este respuesta hace un excelente trabajo explicando la diferencia entre pool.map, pool.apply, y pool.apply_async, pero ¿cuáles son las ventajas y desventajas del uso de pool.map versus el uso de las colas, como en este ejemplo?

OriginalEl autor Michael | 2013-09-26

2 respuestas

  1. 10

    La pool.map técnica es un “subconjunto” de la técnica con las colas. Es decir, sin tener pool.map puede implementar fácilmente, utilizando Pool y Queue. Dicho esto, el uso de colas le da mucha más flexibilidad en el control de los procesos del grupo, es decir, puede hacer que determinados tipos de mensajes son leídos una sola vez por los procesos de vida, control de la piscina de los procesos de cierre comportamiento, etc.

    ¿pool.map Apagar automáticamente los procesos cuando finaliza?
    A partir de la documentación: When the pool object is garbage collected terminate() will be called immediately.. Pero yo no depender de él, es mejor que si había asegurado que la piscina ha cerrado al final de su aplicación. De lo contrario, podría terminar con algunos de los zombies a la izquierda en su sistema. Como para pool.map – no, no cerrar los procesos. Los procesos que se viven tanto tiempo como su piscina a menos cerrado o huérfanos.

    OriginalEl autor Maciej Gol

  2. 4

    Si usted está realmente en busca de la “más clara y más sencilla de la técnica”, utilizando concurrente.de futuros.ProcessPoolExecutor es probablemente la manera más fácil. Tiene un map método, así como algunos otros elementos primitivos que hacen que sea muy útil. También es compatible con Queues.

    muy fácil e intuitiva de la biblioteca.

    OriginalEl autor Veedrac

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *