python 循环并行 执行
时间: 2023-09-13 19:10:02 浏览: 46
在 Python 中,可以使用多种方式实现循环并行执行,这里介绍几种常用方法:
1. 使用 `multiprocessing` 模块:该模块提供了 Process 类,可以创建进程并执行任务。可以使用 `Pool` 类创建多个进程,并将任务分配给它们执行。
```python
import multiprocessing
def task(num):
print("Process %d is running" % num)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=4)
for i in range(4):
pool.apply_async(task, args=(i,))
pool.close()
pool.join()
```
2. 使用 `concurrent.futures` 模块:该模块提供了以更高级别的方式管理并发任务的类。可以使用 `ThreadPoolExecutor` 和 `ProcessPoolExecutor` 类创建线程池和进程池,并将任务提交给它们执行。
```python
import concurrent.futures
def task(num):
print("Process %d is running" % num)
if __name__ == '__main__':
with concurrent.futures.ProcessPoolExecutor(max_workers=4) as executor:
for i in range(4):
executor.submit(task, i)
```
3. 使用 `joblib` 库:该库提供了 `Parallel` 类,可以轻松地实现并行执行任务。
```python
from joblib import Parallel, delayed
def task(num):
print("Process %d is running" % num)
if __name__ == '__main__':
Parallel(n_jobs=4)(delayed(task)(i) for i in range(4))
```
这些方法都可以实现循环并行执行,具体使用哪种方式取决于具体的需求和环境。