2

我正在学习线程和队列,我发现 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()”,它将成为一个无限循环。

4

1 回答 1

4

文档告诉您确切的原因。除非您作为第一个参数Queue.get()传递,否则会阻塞直到项目可用。False

于 2012-11-30T16:03:10.437 回答