Teilen sich eine variable zwischen Prozessen

Ich habe einen downloader-Funktion, die downloads von mehreren Dateien parallel.
Ich benutze multiprocessing.Pool.map_async zum download der verschiedenen Teile der gleichen Datei.
Ich möchte eine statusbar das download. Für diese, die ich brauche, um zu wissen, die Gesamtanzahl der bytes, die bereits heruntergeladen (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)

Ist es ein Weg, um eine variable zu setzen, die freigegeben werden all diese Prozesse UND die wichtigsten Prozess, so dass jeder Prozess Anhängen können, die Menge der bytes, die gerade heruntergeladen?

InformationsquelleAutor iTayb | 2012-03-24
Schreibe einen Kommentar