ThreadPoolExecutor是Python中的一个线程池类,它实现了线程池的概念。使用ThreadPoolExecutor可以方便地创建多个线程并分配任务给这些线程,以实现并发执行任务的目的。
from concurrent.futures import ThreadPoolExecutor
import time
def task(n):
print(f"Processing {n}")
time.sleep(2)
return n * n
def main():
with ThreadPoolExecutor(max_workers=5) as executor:
futures = [executor.submit(task, i) for i in range(10)]
for future in concurrent.futures.as_completed(futures):
print(future.result())
if __name__ == "__main__":
main()
在这个例子中,我们创建了一个最大工作线程数为5的线程池。然后,我们提交了10个任务到线程池中,每个任务都是调用task函数。task函数简单地打印一些信息,然后休眠2秒钟,最后返回一个任务编号的平方。通过使用线程池,我们可以并发执行这些任务,并在它们完成后按顺序打印结果。