summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-01-29 23:37:04 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-01-29 23:37:04 (GMT)
commit7a55b88d9cf55539d28e2aac6ced20c780984158 (patch)
tree15f199c46433e51dd966a1b3e8a958754de3bfaf /Doc/library
parent1241ecc21bbb3f86734a3071b93514a12dd1ee23 (diff)
downloadcpython-7a55b88d9cf55539d28e2aac6ced20c780984158.zip
cpython-7a55b88d9cf55539d28e2aac6ced20c780984158.tar.gz
cpython-7a55b88d9cf55539d28e2aac6ced20c780984158.tar.bz2
Issue #21962, asyncio doc: Suggest the usage of wait_for() to replace
the lack of timeout parameter for locks and queues.
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/asyncio-sync.rst23
1 files changed, 23 insertions, 0 deletions
diff --git a/Doc/library/asyncio-sync.rst b/Doc/library/asyncio-sync.rst
index c63447b..4cc9a96 100644
--- a/Doc/library/asyncio-sync.rst
+++ b/Doc/library/asyncio-sync.rst
@@ -4,6 +4,29 @@
Synchronization primitives
==========================
+Locks:
+
+* :class:`Lock`
+* :class:`Event`
+* :class:`Condition`
+* :class:`Semaphore`
+* :class:`BoundedSemaphore`
+
+Queues:
+
+* :class:`Queue`
+* :class:`PriorityQueue`
+* :class:`LifoQueue`
+* :class:`JoinableQueue`
+
+asyncio locks and queues API were designed to be close to classes of the
+:mod:`threading` module (:class:`~threading.Lock`, :class:`~threading.Event`,
+:class:`~threading.Condition`, :class:`~threading.Semaphore`,
+:class:`~threading.BoundedSemaphore`) and the :mod:`queue` module
+(:class:`~queue.Queue`, :class:`~queue.PriorityQueue`,
+:class:`~queue.LifoQueue`), but they have no *timeout* parameter. The
+:func:`asyncio.wait_for` function can be used to cancel a task after a timeout.
+
Locks
-----