我有一个以下代码片段,使用多处理模块:
import time
from multiprocessing import Process, Queue
q = Queue()
def feeder():
x=0
while True:
q.put(x)
time.sleep(1)
x+=1
p=Process(target=feeder).start()
while True:
print q.get()
当新数据到达队列时,现在q.get
每秒打印一次。我希望q.get
返回(即通过引发错误或返回None,或通过其他方法)尽可能快。
答案 0 :(得分:1)
您是否阅读过the documentation for .get
?
while True:
try:
print q.get(block=False) # or q.get_nowait()
except Queue.Empty:
pass