[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