python3多进程 queue 取值_【整理】python多进程之间共享queue | 勤奋的小青蛙
默認情況下,使用multiprocess.Queue()只是在兩個進程之間進行通信,如下示例:
import multiprocessing, time
def task(args):
count = args[0]
queue = args[1]
for i in xrange(count):
queue.put("%d mississippi" % i)
return "Done"
def main():
q = multiprocessing.Queue()
pool = multiprocessing.Pool()
result = pool.map_async(task, [(x, q) for x in range(10)])
time.sleep(1)
while not q.empty():
print q.get()
print result.get()
if __name__ == "__main__":
main()
如何在多進程間共享queue呢?
我們可以嘗試使用multiprocessing.Manager來管理隊列,并讓不同的進程可以訪問它。
解決方案如下:
import multiprocessing
def worker(name, que):
que.put("%d is done" % name)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=3)
m = multiprocessing.Manager()
q = m.Queue()
workers = pool.apply_async(worker, (33, q))
文章的腳注信息由WordPress的wp-posturl插件自動生成
|2|left
打賞
微信掃一掃,打賞作者吧~
總結
以上是生活随笔為你收集整理的python3多进程 queue 取值_【整理】python多进程之间共享queue | 勤奋的小青蛙的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python2018上海脱产_pytho
- 下一篇: 联想t460vt怎么开启 如何启用联想T