From: Sandro Tosi Date: Wed, 15 Feb 2012 22:27:00 +0000 (+0100) Subject: Issue #11836: document and expose multiprocessing.SimpleQueue X-Git-Tag: v3.3.0a1~170 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cd77815e4ca1339422763b2ec47351d545409287;p=python Issue #11836: document and expose multiprocessing.SimpleQueue --- cd77815e4ca1339422763b2ec47351d545409287 diff --cc Doc/library/multiprocessing.rst index 106ccd72bd,7db2aed1bc..5019effb44 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@@ -483,7 -464,7 +483,7 @@@ primitives like locks For passing messages one can use :func:`Pipe` (for a connection between two processes) or a queue (which allows multiple producers and consumers). - The :class:`Queue` and :class:`JoinableQueue` types are multi-producer, -The :class:`Queue`, :class:`multiprocessing.queues.SimpleQueue` and :class:`JoinableQueue` types are multi-producer, ++The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types are multi-producer, multi-consumer FIFO queues modelled on the :class:`queue.Queue` class in the standard library. They differ in that :class:`Queue` lacks the :meth:`~queue.Queue.task_done` and :meth:`~queue.Queue.join` methods introduced @@@ -629,6 -610,23 +629,23 @@@ For an example of the usage of queues f exits -- see :meth:`join_thread`. -.. class:: multiprocessing.queues.SimpleQueue() ++.. class:: SimpleQueue() + + It is a simplified :class:`Queue` type, very close to a locked :class:`Pipe`. + + .. method:: empty() + + Return ``True`` if the queue is empty, ``False`` otherwise. + + .. method:: get() + + Remove and return an item from the queue. + + .. method:: put(item) + + Put *item* into the queue. + + .. class:: JoinableQueue([maxsize]) :class:`JoinableQueue`, a :class:`Queue` subclass, is a queue which diff --cc Lib/multiprocessing/__init__.py index e6e16c8322,e6e16c8322..e01244015a --- a/Lib/multiprocessing/__init__.py +++ b/Lib/multiprocessing/__init__.py @@@ -48,7 -48,7 +48,7 @@@ __all__ = 'Manager', 'Pipe', 'cpu_count', 'log_to_stderr', 'get_logger', 'allow_connection_pickling', 'BufferTooShort', 'TimeoutError', 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Condition', -- 'Event', 'Queue', 'JoinableQueue', 'Pool', 'Value', 'Array', ++ 'Event', 'Queue', 'SimpleQueue', 'JoinableQueue', 'Pool', 'Value', 'Array', 'RawValue', 'RawArray', 'SUBDEBUG', 'SUBWARNING', ] @@@ -223,6 -223,6 +223,13 @@@ def JoinableQueue(maxsize=0) from multiprocessing.queues import JoinableQueue return JoinableQueue(maxsize) ++def SimpleQueue(): ++ ''' ++ Returns a queue object ++ ''' ++ from multiprocessing.queues import SimpleQueue ++ return SimpleQueue() ++ def Pool(processes=None, initializer=None, initargs=(), maxtasksperchild=None): ''' Returns a process pool object