[Python-3000] Useless methods in Queue module
Mike Klaas
mike.klaas at gmail.com
Mon Jan 14 23:55:56 CET 2008
On 14-Jan-08, at 1:32 PM, Charles Merriam wrote:
> Not to be pedantic, but the major concern others are voicing is that
> is that queue size is not reliable and is therefore a potential source
> of hard to find threading bugs by naive users. Why not just rename
> q.size() to the unweildy name of q.est_size()?
This is a misleading name. The number returned from qsize() [not size
()] is perfectly reliable, in the sense that it is the exact size of
the queue at some instant in time. The real concern is that qsize()
> 0 doesn't guarantee that a subsequent .get() will not block, nor
that qsize() < maxsize guarantee that .put() will not block.
Incidentally, I find this warning much less confusion than the vague
"Because of multithreading semantics, this number is not reliable."
in the docs.
-Mike
More information about the Python-3000
mailing list