У меня есть функция загрузчика, которая загружает несколько файлов параллельно.
Я использую multiprocessing.Pool.map_async
для загрузки разных фрагментов одного и того же файла.
Я хотел бы показать строку состояния загрузки. Для этого мне нужно знать общее количество уже загруженных байтов ( total_bytes_dl
).
pool = multiprocessing.Pool(processes)
mapObj = pool.map_async(f, args)
while not mapObj.ready():
status = r"%.2f MB / %.2f MB" % (total_bytes_dl / 1024.0 / 1024.0, filesize / 1024.0 / 1024.0,)
status = status + chr(8)*(len(status)+1)
print status,
time.sleep(0.5)
Есть ли способ установить переменную, которая будет совместно использоваться всеми этими процессами И основным процессом, чтобы каждый процесс мог добавлять количество только что загруженных байтов?