gpt4 book ai didi

Python:为什么一些 Queue.queue 的方法是 "unreliable"?

转载 作者:太空狗 更新时间:2023-10-29 21:30:13 27 4
gpt4 key购买 nike

Queue模块的queue类中,有几个方法,分别是qsizeemptyfull,其文档声称它们“不可靠”。

他们到底有什么不可靠的地方?

我确实注意到 on the Python docs网站,以下是关于qsize的说法:

Note, qsize() > 0 doesn’t guarantee that a subsequent get() will not block, nor will qsize() < maxsize guarantee that put() will not block.

我个人认为这种行为“不可靠”。但这就是所谓的“不可靠”,还是这些方法存在更严重的缺陷?

最佳答案

是的,文档在这里使用“不可靠”来表达这个意思:例如,在某种意义上,qsize 并没有告诉你“现在”有多少条目,一个概念这在多线程世界中不一定很有意义(除了在采取同步预防措施的特定点)——它告诉你它在“一段时间前”有多少条目……当你根据这些信息采取行动时,即使在紧接下一个操作码,队列可能有更多条目,或更少条目,或者可能根本没有条目,这取决于同时其他线程在做什么(如果有的话;-)。

关于Python:为什么一些 Queue.queue 的方法是 "unreliable"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1301416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com