为什么Queue()。get()可以停止(或中断)一个真正的循环?

时间:2012-11-30 15:58:31

标签: python multithreading queue

我正在学习Thread和Queue,我发现Queue()。get()可以停止while循环。但我不知道为什么。

from threading import Thread
from queue import Queue

def working():
    while True:
        print("loop...")
        Queue().get()         ## why here ##

for i in range(5):    
    t = Thread(target=working)
    t.start()

如果我删除“Queue()。get()”,它将成为无限循环。

1 个答案:

答案 0 :(得分:4)

documentation告诉您确切原因。 Queue.get()会阻止项目可用,除非您将False作为第一个参数传递。