Dan*_*ats 3 python python-multiprocessing
假设我有两个过程:一个读者和一个作家。作者如何检测读者何时完成了价值写作?
该multiprocessing模块有一个带有close方法的队列,该方法似乎是为此目的定制的。但是,如何检测队列何时关闭?
这似乎不起作用,因为作者从未退出过:
import multiprocessing as mp
def getter(q):
while True:
try:
print(q.get())
except Exception:
break
def putter(q):
q.put(1)
q.put(2)
q.close()
q = mp.Queue()
writer = mp.Process(target=putter, args=(q, ))
reader = mp.Process(target=getter, args=(q, ))
reader.start()
writer.start()
writer.join()
reader.join()
Run Code Online (Sandbox Code Playgroud)
读写器对应该使用标记值来表示写入结束吗?那么使用该close方法有什么意义呢?
编辑:虽然这个问题询问有关Queue模块(现在称为queue),但我专门询问的是mp.Queue什么以及该.close方法的正确用法是什么。
| 归档时间: |
|
| 查看次数: |
1532 次 |
| 最近记录: |