summaryrefslogtreecommitdiffstats
path: root/Doc/library/queue.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/library/queue.rst')
-rw-r--r--Doc/library/queue.rst48
1 files changed, 19 insertions, 29 deletions
diff --git a/Doc/library/queue.rst b/Doc/library/queue.rst
index 179c4c6..bc35dfe 100644
--- a/Doc/library/queue.rst
+++ b/Doc/library/queue.rst
@@ -1,19 +1,14 @@
-:mod:`Queue` --- A synchronized queue class
+:mod:`queue` --- A synchronized queue class
===========================================
-.. module:: Queue
+.. module:: queue
:synopsis: A synchronized queue class.
-.. note::
- The :mod:`Queue` module has been renamed to :mod:`queue` in Python 3. The
- :term:`2to3` tool will automatically adapt imports when converting your
- sources to Python 3.
-
-**Source code:** :source:`Lib/Queue.py`
+**Source code:** :source:`Lib/queue.py`
--------------
-The :mod:`Queue` module implements multi-producer, multi-consumer queues.
+The :mod:`queue` module implements multi-producer, multi-consumer queues.
It is especially useful in threaded programming when information must be
exchanged safely between multiple threads. The :class:`Queue` class in this
module implements all the required locking semantics. It depends on the
@@ -27,7 +22,8 @@ the first retrieved (operating like a stack). With a priority queue,
the entries are kept sorted (using the :mod:`heapq` module) and the
lowest valued entry is retrieved first.
-The :mod:`Queue` module defines the following classes and exceptions:
+
+The :mod:`queue` module defines the following classes and exceptions:
.. class:: Queue(maxsize=0)
@@ -43,7 +39,6 @@ The :mod:`Queue` module defines the following classes and exceptions:
block once this size has been reached, until queue items are consumed. If
*maxsize* is less than or equal to zero, the queue size is infinite.
- .. versionadded:: 2.6
.. class:: PriorityQueue(maxsize=0)
@@ -56,7 +51,6 @@ The :mod:`Queue` module defines the following classes and exceptions:
one returned by ``sorted(list(entries))[0]``). A typical pattern for entries
is a tuple in the form: ``(priority_number, data)``.
- .. versionadded:: 2.6
.. exception:: Empty
@@ -69,12 +63,6 @@ The :mod:`Queue` module defines the following classes and exceptions:
Exception raised when non-blocking :meth:`put` (or :meth:`put_nowait`) is called
on a :class:`Queue` object which is full.
-.. seealso::
-
- :class:`collections.deque` is an alternative implementation of unbounded
- queues with fast atomic :func:`append` and :func:`popleft` operations that
- do not require locking.
-
.. _queueobjects:
@@ -108,7 +96,7 @@ provide the public methods described below.
guarantee that a subsequent call to put() will not block.
-.. method:: Queue.put(item[, block[, timeout]])
+.. method:: Queue.put(item, block=True, timeout=None)
Put *item* into the queue. If optional args *block* is true and *timeout* is
None (the default), block if necessary until a free slot is available. If
@@ -118,16 +106,13 @@ provide the public methods described below.
immediately available, else raise the :exc:`Full` exception (*timeout* is
ignored in that case).
- .. versionadded:: 2.3
- The *timeout* parameter.
-
.. method:: Queue.put_nowait(item)
Equivalent to ``put(item, False)``.
-.. method:: Queue.get([block[, timeout]])
+.. method:: Queue.get(block=True, timeout=None)
Remove and return an item from the queue. If optional args *block* is true and
*timeout* is None (the default), block if necessary until an item is available.
@@ -136,9 +121,6 @@ provide the public methods described below.
Otherwise (*block* is false), return an item if one is immediately available,
else raise the :exc:`Empty` exception (*timeout* is ignored in that case).
- .. versionadded:: 2.3
- The *timeout* parameter.
-
.. method:: Queue.get_nowait()
@@ -161,8 +143,6 @@ fully processed by daemon consumer threads.
Raises a :exc:`ValueError` if called more times than there were items placed in
the queue.
- .. versionadded:: 2.5
-
.. method:: Queue.join()
@@ -173,7 +153,6 @@ fully processed by daemon consumer threads.
indicate that the item was retrieved and all work on it is complete. When the
count of unfinished tasks drops to zero, :meth:`join` unblocks.
- .. versionadded:: 2.5
Example of how to wait for enqueued tasks to be completed::
@@ -194,3 +173,14 @@ Example of how to wait for enqueued tasks to be completed::
q.join() # block until all tasks are done
+
+.. seealso::
+
+ Class :class:`multiprocessing.Queue`
+ A queue class for use in a multi-processing (rather than multi-threading)
+ context.
+
+ :class:`collections.deque` is an alternative implementation of unbounded
+ queues with fast atomic :func:`append` and :func:`popleft` operations that
+ do not require locking.
+