Совместное использование переменной между процессами
У меня есть функция загрузчика, которая загружает несколько файлов параллельно. я использую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)
Есть ли способ установить переменную, которая будет использоваться всеми этими процессами И основным процессом, чтобы каждый процесс мог добавлять количество только что загруженных байтов?