[Python-checkins] cpython: Issue #11815: Use a light-weight SimpleQueue for the result queue in

antoine.pitrou python-checkins at python.org
Tue Apr 12 17:58:16 CEST 2011


http://hg.python.org/cpython/rev/c26d015cbde8
changeset:   69270:c26d015cbde8
user:        Antoine Pitrou <solipsis at pitrou.net>
date:        Tue Apr 12 17:58:11 2011 +0200
summary:
  Issue #11815: Use a light-weight SimpleQueue for the result queue in concurrent.futures.ProcessPoolExecutor.

files:
  Lib/concurrent/futures/process.py |  5 +++--
  Misc/NEWS                         |  3 +++
  2 files changed, 6 insertions(+), 2 deletions(-)


diff --git a/Lib/concurrent/futures/process.py b/Lib/concurrent/futures/process.py
--- a/Lib/concurrent/futures/process.py
+++ b/Lib/concurrent/futures/process.py
@@ -49,6 +49,7 @@
 from concurrent.futures import _base
 import queue
 import multiprocessing
+from multiprocessing.queues import SimpleQueue
 import threading
 import weakref
 
@@ -204,7 +205,7 @@
                                 work_ids_queue,
                                 call_queue)
 
-        result_item = result_queue.get(block=True)
+        result_item = result_queue.get()
         if result_item is not None:
             work_item = pending_work_items[result_item.work_id]
             del pending_work_items[result_item.work_id]
@@ -284,7 +285,7 @@
         # because futures in the call queue cannot be cancelled.
         self._call_queue = multiprocessing.Queue(self._max_workers +
                                                  EXTRA_QUEUED_CALLS)
-        self._result_queue = multiprocessing.Queue()
+        self._result_queue = SimpleQueue()
         self._work_ids = queue.Queue()
         self._queue_management_thread = None
         self._processes = set()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -103,6 +103,9 @@
 Library
 -------
 
+- Issue #11815: Use a light-weight SimpleQueue for the result queue in
+  concurrent.futures.ProcessPoolExecutor.
+
 - Issue #5162: Treat services like frozen executables to allow child spawning
   from multiprocessing.forking on Windows.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list