【发布时间】:2012-04-09 00:23:27
【问题描述】:
我有一个下载器功能,可以并行下载多个文件。
我使用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)
有没有办法设置一个变量,在所有这些进程和主进程之间共享,这样每个进程都可以附加刚刚下载的字节数?
【问题讨论】:
标签: python map multiprocessing ctypes