python多进程问题

lovesdan 2016-01-30 01:42:26
有这样一段代码


def worker(download_url=("", ""), queue=None):
queue.put((download_url, 'start'))
if os.path.exists(download_url[0]):
return
urllib.urlretrieve(download_url[1], download_url[0] + ".tmp", callback)
os.rename(download_url[0] + ".tmp", download_url[0])
queue.put((download_url, 'end'))


def callback(block, block_size, file_size):
if -1 != file_size:
per = int(100.0 * block * block_size / file_size)
if per > 100:
per = 100
if __name__ == '__main__':
mManager = multiprocessing.Manager()
mQueue = mManager.Queue()
pool = multiprocessing.Pool(self.mProgressNum)
for _list in mDownload_list:
Result.append(self.pool.apply_async(worker, (_list, mQueue,)))
self.pool.close()
self.pool.join()


有什么办法可以让我主线程获取到callback的数据
...全文
117 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧