我有一个可以并行下载多个文件的下载器函数。 我使用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)
有没有一种方法来设置,将所有这些过程和主要过程之间共享的变量,所以每一个过程可以追加刚刚下载的字节的数量?
你不能映射ctypes共享对象:'RuntimeError:同步对象只能通过继承在进程间共享' – iTayb 2012-03-24 23:41:24