➊
while True:
func, args, kargs = self.tasks.get()
try:
func(*args, **kargs)
except Exception as e:
print(e)
self.tasks.task_done()
class ThreadPool:
def __init__(self, num_threads: int):
self.tasks: TaskQueue = queue.Queue(num_threads) ----- ➋
self.num_threads = num_threads
➌
for _ in range(self.num_threads):
worker = Worker(self.tasks)
worker.setDaemon(True)
worker.start()