import threading
from concurrent.futures.thread import ThreadPoolExecutor
lock = threading.Lock()
def func(x, y):
"""
打印 x 次 y
"""
global lock
for i in range(x):
with lock:
print(y)
# 线程池最大线程数 3
with ThreadPoolExecutor(max_workers=3) as e:
futureList = []
for i in range(10):
# 创建 10 个future 对象放到 futureList
# e.submit 提交给线程池
futureList.append(e.submit(func, i, i)) # i, i 为传入 func 的两个参数
[i.result() for i in futureList] # 将 futureList 里的任务丢到线程池
python 创建线程池
最新推荐文章于 2024-04-05 10:13:45 发布
该博客演示了如何使用Python的`threading`模块和`concurrent.futures`模块的`ThreadPoolExecutor`来实现多线程及线程池。通过创建线程锁确保打印操作的线程安全,并通过线程池执行多个任务,展示了并发编程在Python中的应用。
摘要由CSDN通过智能技术生成