综合练习:线程池思想

44.14 综合练习:线程池思想

用固定数量 worker 线程 + Queue 处理一批任务(简化版线程池)。

3 个 worker 处理 10 个任务

进阶可用 concurrent.futures.ThreadPoolExecutor。

# ========================================
# 示例:固定 worker 数量
# 说明:任务入队,多个 worker 竞争取任务
# ========================================
import threading
import queue

task_q = queue.Queue()
for i in range(10):
    task_q.put(i)

def worker(wid):
    while True:
        try:
            n = task_q.get_nowait()
        except queue.Empty:
            break
        print(f'Worker{wid} 处理任务', n)
        task_q.task_done()

for w in range(3):
    threading.Thread(target=worker, args=(w,), daemon=True).start()
task_q.join()
print('全部任务完成')