multithreading en python: un enfoque simplificado
thifting es una técnica utilizada para dividir tareas en múltiples subprocesos, mejorando la eficiencia de un programa.
Python, Multithreading se ha simplificado enormemente con la introducción de Map and Pool. Aquí hay un ejemplo conciso:
de multiprocessing.dummy importar el grupo como threadpool piscina = threadpool (4) Results = Pool.map (my_function, my_array)Este fragmento de código distribuye efectivamente la ejecución de my_function en 4 hilos disponibles. Los valores resultantes se almacenan en la lista de resultados.
from multiprocessing.dummy import Pool as ThreadPool pool = ThreadPool(4) results = pool.map(my_function, my_array)
Función de mapa: una abstracción funcional
La función de mapa, heredada de lenguajes funcionales como LISP, itera sobre una secuencia, aplica una función a cada elemento, y recopila los resultados en una lista. Abraza el proceso de iteración, haciendo multithreading sin esfuerzo.
thread Pool: administrar hilos
En el código anterior, el threadpool crea un grupo de 4 hilos de trabajadores. Estos hilos ejecutan las tareas asignadas por la función MAP. Una vez que se completan todas las tareas, el grupo se cierra, asegurando que todos los hilos terminen sus operaciones.
notas de implementación
use multiprocessing.pool para tareas de CPU-incensivas, y multiplicar múltiples un hilo, use Starmap con Zip para combinar matrices, o con IterTools.Repeat para pasar una constante y una matriz.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3