Để làm cho mã của tôi "pythonic" hơn và nhanh hơn, tôi sử dụng "đa xử lý" và một hàm bản đồ để gửi nó a) hàm và b) phạm vi lặp lại.
Giải pháp được cấy ghép (tức là gọi tqdm trực tiếp trên phạm vi tqdm.tqdm (phạm vi (0, 30)) không hoạt động với đa xử lý (như được xây dựng trong mã bên dưới).
Thanh tiến trình được hiển thị từ 0 đến 100% (khi python đọc mã?) Nhưng nó không cho biết tiến trình thực tế của chức năng bản đồ.
Làm cách nào để hiển thị thanh tiến trình cho biết chức năng 'bản đồ' đang ở bước nào?
from multiprocessing import Pool
import tqdm
import time
def _foo(my_number):
square = my_number * my_number
time.sleep(1)
return square
if __name__ == '__main__':
p = Pool(2)
r = p.map(_foo, tqdm.tqdm(range(0, 30)))
p.close()
p.join()
Mọi trợ giúp hoặc đề xuất đều được hoan nghênh ...