python线程池omp
时间: 2023-11-22 09:51:04 浏览: 99
根据提供的引用内容,可以看出Python中的线程池是通过concurrent.futures模块中的ThreadPoolExecutor类来实现的。下面是一个简单的例子,演示如何使用Python线程池:
```python
from concurrent.futures import ThreadPoolExecutor
import time
def task(num):
print("Processing {}".format(num))
time.sleep(1)
print("Task {} completed".format(num))
if __name__ == '__main__':
# 创建一个线程池,最多同时运行3个线程
with ThreadPoolExecutor(max_workers=3) as executor:
# 提交5个任务到线程池
for i in range(5):
executor.submit(task, i)
```
在上面的例子中,我们首先导入了ThreadPoolExecutor类,然后定义了一个task函数,该函数接受一个参数num,表示任务的编号。在task函数中,我们打印出正在处理的任务编号,然后让线程休眠1秒钟,最后打印出任务完成的信息。
在主程序中,我们创建了一个ThreadPoolExecutor对象,并指定最多同时运行3个线程。然后,我们使用submit方法向线程池提交5个任务,每个任务都调用task函数,并传入不同的任务编号。submit方法会立即返回,不会等待任务完成。
运行上面的代码,可以看到线程池最多同时运行3个线程,每个任务都会在1秒钟后完成。由于线程池中只有3个线程,因此任务会被分批执行,直到所有任务都完成为止。
阅读全文