summaryrefslogtreecommitdiffstats
path: root/Lib/concurrent/futures
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2017-06-22 06:41:13 (GMT)
committerGitHub <noreply@github.com>2017-06-22 06:41:13 (GMT)
commita3d91b43c2851312fb942f31afa12f5961706db6 (patch)
tree6988e0a35b1ee081c33a7ad5324521c4dc892425 /Lib/concurrent/futures
parenta0e911b190a229693a1b9948caf768de0069046b (diff)
downloadcpython-a3d91b43c2851312fb942f31afa12f5961706db6.zip
cpython-a3d91b43c2851312fb942f31afa12f5961706db6.tar.gz
cpython-a3d91b43c2851312fb942f31afa12f5961706db6.tar.bz2
bpo-29212: Fix the ugly repr() ThreadPoolExecutor thread name. (#2315)
bpo-29212: Fix the ugly ThreadPoolExecutor thread name. Fixes the newly introduced ugly default thread name for concurrent.futures thread.ThreadPoolExecutor threads. They'll now resemble the old <=3.5 threading default Thread-x names by being named ThreadPoolExecutor-y_n.
Diffstat (limited to 'Lib/concurrent/futures')
-rw-r--r--Lib/concurrent/futures/thread.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/concurrent/futures/thread.py b/Lib/concurrent/futures/thread.py
index 03d276b..1f0a1d4 100644
--- a/Lib/concurrent/futures/thread.py
+++ b/Lib/concurrent/futures/thread.py
@@ -7,6 +7,7 @@ __author__ = 'Brian Quinlan (brian@sweetapp.com)'
import atexit
from concurrent.futures import _base
+import itertools
import queue
import threading
import weakref
@@ -81,6 +82,10 @@ def _worker(executor_reference, work_queue):
_base.LOGGER.critical('Exception in worker', exc_info=True)
class ThreadPoolExecutor(_base.Executor):
+
+ # Used to assign unique thread names when thread_name_prefix is not supplied.
+ _counter = itertools.count().__next__
+
def __init__(self, max_workers=None, thread_name_prefix=''):
"""Initializes a new ThreadPoolExecutor instance.
@@ -101,7 +106,8 @@ class ThreadPoolExecutor(_base.Executor):
self._threads = set()
self._shutdown = False
self._shutdown_lock = threading.Lock()
- self._thread_name_prefix = thread_name_prefix
+ self._thread_name_prefix = (thread_name_prefix or
+ ("ThreadPoolExecutor-%d" % self._counter()))
def submit(self, fn, *args, **kwargs):
with self._shutdown_lock: