summaryrefslogtreecommitdiffstats
path: root/Lib/queue.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2009-03-06 23:55:28 (GMT)
committerRaymond Hettinger <python@rcn.com>2009-03-06 23:55:28 (GMT)
commit611eaf0e66bfd00d2ee9e25d4ae9648c9dc2f600 (patch)
tree7aa9b9bd79c33cde6bcd79ad844d78a6d1be3c86 /Lib/queue.py
parent66913e221312e38cc542896d4db9b45720a20672 (diff)
downloadcpython-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.py21
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()