【问题标题】:python queue get size, use qsize() or len()?python 队列获取大小,使用 qsize() 还是 len()?
【发布时间】:2014-01-05 23:45:05
【问题描述】:

我见过使用qsize()len() 计算队列大小的实例。两者有什么区别?

【问题讨论】:

标签: python size queue


【解决方案1】:

对于大多数容器,您需要len,但Queue.Queue 实际上并不支持len。这可能是因为它很旧,或者因为在多线程环境中获取队列的长度并不是特别有用。在任何情况下,如果您想要Queue 的(近似)大小,您需要qsize

【讨论】:

  • len 可能会诱使人们在执行 get 之前检查非零长度,假设 get 不会阻塞。
  • 我在 Mac 上调用 qsize return self._maxsize - self._sem._semlock._get_value() NotImplementedError 有什么帮助吗?
  • 为什么是近似值?如果您需要精确怎么办?
【解决方案2】:

queue.qsize() 不返回队列中的字节数。它返回放置在队列中的“事物”的数量。

如果将 5 个 100 字节的字节数组放入队列中,qsize() 将是 5,而不是 500。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多