Совместное использование переменной между процессами

У меня есть функция загрузчика, которая загружает несколько файлов параллельно. Я использую 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)

Есть ли способ установить переменную, которая будет совместно использоваться всеми этими процессами И основным процессом, чтобы каждый процесс мог добавлять количество только что загруженных байтов?

7
задан iTayb 29 March 2012 в 16:54
поделиться