1

我有以下代码片段,使用多处理模块:

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 或通过其他方法)。

4

1 回答 1

1

您是否阅读了文档.get

while True:
    try:
        print q.get(block=False)  # or q.get_nowait()
    except Queue.Empty:
        pass
于 2013-09-16T12:10:13.463 回答