Uso del método pool.map () multiproceso de Python

En Python, solo el multiproceso puede hacer un uso completo de los recursos de la CPU, que es adecuado para las tareas de computación de la CPU. No diré mucho sobre los demás. Aquí hay un método pool.map (), ¡que es muy práctico!

pool.map ()

Primero vaya directamente al código:

import time
from multiprocessing.pool import Pool

def numsCheng(i):
    return i * 2

if __name__ == '__main__':
    time1 = time.time()
    nums_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    pool = Pool(processes=5)
    result = pool.map(numsCheng, nums_list)
    pool.close()        # 关闭进程池,不再接受新的进程
    pool.join()         # 主进程阻塞等待子进程的退出

    print(result)
    time2 = time.time()
    print("计算用时:", time2-time1)

resultado de la operación:

[2, 4, 6, 8, 10, 12, 14, 16, 18]
计算用时: 0.21639275550842285

explique:

1. Ver que Pool tiene un parámetro de procesos. Este parámetro se puede dejar sin configurar. Si la función no está configurada, cuántos procesos se ejecutarán de acuerdo con la situación real de la computadora. También podemos configurarlo nosotros mismos, pero debemos considerar el rendimiento de nuestra computadora.

2. La función map (). Se deben pasar dos parámetros. El primer parámetro es la función a la que se debe hacer referencia y el segundo parámetro es un objeto iterable, que pasará los elementos que deben iterarse al primer parámetro de nuestra función uno por uno. Porque nuestro mapa pasará datos automáticamente como parámetros

3. Pool () está activado, no olvide pool.close () y pool.join () para cerrar el grupo de procesos, y deje que el proceso principal se bloquee y espere la salida del proceso hijo.

Supongo que te gusta

Origin blog.csdn.net/weixin_38819889/article/details/107815272
Recomendado
Clasificación