测试两个函数之间的数据流,多处理和队列我已经制作了以下小脚本(没有连接,只是为了理解目的的测试):
from multiprocessing import Process, Queue
import time
def f1(q):
i = 0
while True:
i+=1
q.put(i)
# time.sleep(1)
def f2(q):
while True:
dummy = q.get()
print (dummy)
# time.sleep(1)
if __name__ == '__main__':
q = Queue()
p1 = Process(target=f1, args=(q,))
p2 = Process(target=f2, args=(q,))
p1.start()
p2.start()
所以f1(worker)永久流入队列,f2(worker)读取它。但是当我引入一个ie time.sleep(1)进行异步通信时,没有任何反应。 有人可以解释为什么会这样吗?我猜我有某种理解问题。
感谢任何帮助。
问候 弗兰克