From 1fb99950a2725e6720fe22c92ee81ba5a67c400c Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Wed, 24 Nov 2021 17:15:27 +0000 Subject: oe/utils: allow naming threads in ThreadedPool When looking at logs involving thread pools it is useful if the threads can be named. (From OE-Core rev: 18342945b021608794d83ecf567afd43f4379b24) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oe/utils.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index cf65639647..7982b2b511 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -483,8 +483,8 @@ from threading import Thread class ThreadedWorker(Thread): """Thread executing tasks from a given tasks queue""" - def __init__(self, tasks, worker_init, worker_end): - Thread.__init__(self) + def __init__(self, tasks, worker_init, worker_end, name=None): + Thread.__init__(self, name=name) self.tasks = tasks self.daemon = True @@ -515,13 +515,12 @@ class ThreadedWorker(Thread): class ThreadedPool: """Pool of threads consuming tasks from a queue""" - def __init__(self, num_workers, num_tasks, worker_init=None, - worker_end=None): + def __init__(self, num_workers, num_tasks, worker_init=None, worker_end=None, name="ThreadedPool-"): self.tasks = Queue(num_tasks) self.workers = [] - for _ in range(num_workers): - worker = ThreadedWorker(self.tasks, worker_init, worker_end) + for i in range(num_workers): + worker = ThreadedWorker(self.tasks, worker_init, worker_end, name=name + str(i)) self.workers.append(worker) def start(self): -- cgit v1.2.3-54-g00ecf