Index du contenu
El siguiente programa de muestra ilustra el uso básico de Pool y map() método. desde el grupo de importación de multiprocesamiento
def trabajador(x): print(‘En trabajador con: ‘, x) volver x * x
def principal(): con Pool (procesos = 4) como grupo: print(pool.map(trabajador, [0, 1, 2, 3, 4, 5]))
si nombre == ‘principal’: principal() Tenga en cuenta que el objeto Pool debe cerrarse una vez que haya terminado con él; somos por lo tanto, usar la declaración ‘con como’ descrita anteriormente en este libro para manejar el Pool de recursos limpiamente (se asegurará de que el Pool se cierre cuando el bloque de código dentro de la declaración with as se completa). La salida de este programa es En trabajador con: 0 En trabajador con: 1 En trabajador con: 2 En trabajador con: 3 En trabajador con: 4 En trabajador con: 5 [0, 1, 4, 9, 16, 25] Como se puede ver en esta salida, la función map() se usa para ejecutar seis instancias de la función trabajador() con los valores proporcionados por la lista de integrantes gers. Cada instancia es ejecutada por un proceso de trabajo administrado por el Pool. Sin embargo, tenga en cuenta que el Pool solo tiene 4 procesos de trabajo, esto significa que el las dos últimas instancias de la función del trabajador deben esperar hasta que dos de la función del trabajador Los procesos han terminado el trabajo que estaban haciendo y se pueden reutilizar. Esto puede actuar como un manera de limitar, o controlar, cuánto trabajo se realiza en paralelo. Una variante del método map() es el método imap_unordered(). Este El método también aplica una función dada a un iterable pero no intenta mantener el orden de los resultados. Se puede acceder a los resultados a través del iterable devuelto por el función. Esto puede mejorar el rendimiento del programa resultante. El siguiente programa modificó la función worker() para devolver su resultado en lugar de imprimirlo. Luego se puede acceder a estos resultados al iterarlos a medida que aparecen. se producen a través de un bucle for: 370 31 multiprocesamiento
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Lire plusTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Lire plus• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Lire plus