diff options
author | Raymond Hettinger <python@rcn.com> | 2009-03-06 23:55:28 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2009-03-06 23:55:28 (GMT) |
commit | 611eaf0e66bfd00d2ee9e25d4ae9648c9dc2f600 (patch) | |
tree | 7aa9b9bd79c33cde6bcd79ad844d78a6d1be3c86 /Lib/queue.py | |
parent | 66913e221312e38cc542896d4db9b45720a20672 (diff) | |
download | cpython-611eaf0e66bfd00d2ee9e25d4ae9648c9dc2f600.zip cpython-611eaf0e66bfd00d2ee9e25d4ae9648c9dc2f600.tar.gz cpython-611eaf0e66bfd00d2ee9e25d4ae9648c9dc2f600.tar.bz2 |
Document the suggested alternative to emtpy() and full().
Diffstat (limited to 'Lib/queue.py')
-rw-r--r-- | Lib/queue.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/Lib/queue.py b/Lib/queue.py index 773b680..450f845 100644 --- a/Lib/queue.py +++ b/Lib/queue.py @@ -91,14 +91,31 @@ class Queue: return n def empty(self): - """Return True if the queue is empty, False otherwise (not reliable!).""" + """Return True if the queue is empty, False otherwise (not reliable!). + + This method is likely to be removed at some point. Use qsize() == 0 + as a direct substitute, but be aware that either approach risks a race + condition where a queue can grow before the result of empty() or + qsize() can be used. + + To create code that needs to wait for all queued tasks to be + completed, the preferred technique is to use the join() method. + + """ self.mutex.acquire() n = not self._qsize() self.mutex.release() return n def full(self): - """Return True if the queue is full, False otherwise (not reliable!).""" + """Return True if the queue is full, False otherwise (not reliable!). + + This method is likely to be removed at some point. Use qsize() == n + as a direct substitute, but be aware that either approach risks a race + condition where a queue can shrink before the result of full() or + qsize() can be used. + + """ self.mutex.acquire() n = 0 < self.maxsize == self._qsize() self.mutex.release() |