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)
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()