]> granicus.if.org Git - python/commitdiff
Issue #21962, asyncio doc: Suggest the usage of wait_for() to replace
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 29 Jan 2015 23:37:04 +0000 (00:37 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 29 Jan 2015 23:37:04 +0000 (00:37 +0100)
the lack of timeout parameter for locks and queues.

Doc/library/asyncio-sync.rst

index c63447bbab41fc2d655c5add9807308b186aac26..4cc9a9645c49cb5dc4e21b29ba02e69a404578e0 100644 (file)
@@ -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
 -----