]> granicus.if.org Git - python/commitdiff
Issue #11836: document and expose multiprocessing.SimpleQueue
authorSandro Tosi <sandro.tosi@gmail.com>
Wed, 15 Feb 2012 22:27:00 +0000 (23:27 +0100)
committerSandro Tosi <sandro.tosi@gmail.com>
Wed, 15 Feb 2012 22:27:00 +0000 (23:27 +0100)
1  2 
Doc/library/multiprocessing.rst
Lib/multiprocessing/__init__.py

index 106ccd72bd1a4dd0ac58374445029212fd941d3e,7db2aed1bc71db6f50dbcb0f41604c1776d9e374..5019effb4422f9bb4c33ca5b9c1c8afe9148554e
@@@ -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
index e6e16c83224e08a0f7453a56e8ef36dd361001e9,e6e16c83224e08a0f7453a56e8ef36dd361001e9..e01244015a962dda5703aa98cd2380ceba0352b4
@@@ -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