python多处理.Queue.put/get';s块参数

python多处理.Queue.put/get';s块参数,python,Python,这是关于multiprocessing.Queue.get的官方文档 获取([block[,timeout]]) 从队列中删除并返回项目。如果 可选args块为True(默认值),超时为None(默认值) 默认设置),如有必要,请阻止,直到项目可用为止。如果超时 是正数,它最多阻止超时秒并引发 队列。如果在此时间内没有可用项,则为空异常。 否则(block为False),如果一个项目是,则立即返回该项目 可用,否则引发队列。空异常(忽略超时 在那种情况下) 问题是可用和立即可用 提前谢谢。 如有

这是关于multiprocessing.Queue.get的官方文档

获取([block[,timeout]])

从队列中删除并返回项目。如果 可选args块为True(默认值),超时为None(默认值) 默认设置),如有必要,请阻止,直到项目可用为止。如果超时 是正数,它最多阻止超时秒并引发 队列。如果在此时间内没有可用项,则为空异常。 否则(block为False),如果一个项目是
,则立即返回该项目
可用
,否则引发队列。空异常(忽略超时 在那种情况下)

问题是
可用
立即可用

提前谢谢。 如有必要,请阻止,直到项目可用

这仅仅意味着当您发出请求时,
队列
是空的,除非您传递参数
block=False
或设置一些
超时
,否则它将被阻止,直到您向
队列
添加项目

立即可用

这意味着,当您发出请求时,
队列
上有一些项目,它将立即返回

如有必要,请阻止,直到项目可用

这仅仅意味着当您发出请求时,
队列
是空的,除非您传递参数
block=False
或设置一些
超时
,否则它将被阻止,直到您向
队列
添加项目

立即可用


这意味着,当您发出请求时,
队列上有一些项目
,它将立即被返回。

在设置了
block=True
的第一种情况下,
“可用”
意味着队列上有一个项目,并且可以被
队列.get()删除。
。关键是线程/进程将阻塞,直到有一个项目准备从队列中删除


在第二种情况下,
block=False
,因此如果队列中没有项目(队列中没有项目是
“立即可用的”
),调用线程将不会阻塞。相反,
Queue.get()
将引发
Queue.Empty
,表示队列中没有可读取的内容。您的应用程序需要处理该异常,可能需要执行其他任务,然后稍后重试。

在设置了
block=True
的第一种情况下,
“可用”
表示队列中存在一个项,并且准备由
queue.get()删除该项。
。关键是线程/进程将阻塞,直到有一个项目准备从队列中删除


在第二种情况下,
block=False
,因此如果队列中没有项目(队列中没有项目是
“立即可用的”
),调用线程将不会阻塞。相反,
Queue.get()
将引发
Queue.Empty
,表示队列中没有可读取的内容。您的应用程序需要处理该异常,可能需要执行其他任务,然后稍后再试。

我可以理解您的想法,但上面的答案更清楚,因此我给他正确的标签。我可以理解您的想法,但上面的答案更清楚,因此我给他正确的标签。