[Python | multiproceso] barra de progreso de impresión

cada blog, cada lema: Lo que no te mata te hace más fuerte.

0. Prefacio

Use la barra de progreso en múltiples procesos

1. Texto

1.1 Situación general

import time

from tqdm import tqdm

for i in tqdm(range(1000)):
    time.sleep(0.01)

Inserte la descripción de la imagen aquí

1.2 Multiproceso

1.2.1 Barra de progreso no impresa

import time

from tqdm import tqdm
from multiprocessing.pool import ThreadPool


def fun():
    """测试函数"""
    time.sleep(0.01)


pool = ThreadPool(4)
for i in range(1000):
    pool.apply_async(fun)

1.2.2 Barra de progreso de impresión

import time

from tqdm import tqdm
from multiprocessing.pool import ThreadPool


def fun():
    """测试函数"""
    time.sleep(0.01)


num = 1000
pbar = tqdm(total=num)
update = lambda *args: pbar.update()
pool = ThreadPool(4)

for i in range(num):
    pool.apply_async(fun, callback=update)
pool.close()
pool.join()

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_39190382/article/details/112621211
Recomendado
Clasificación