python多个程序并行
时间: 2023-10-13 11:04:16 浏览: 35
在Python中,可以使用多种方式实现程序并行,包括进程、线程和协程。下面简单介绍一下这几种实现方式:
1. 进程并行
通过使用Python内置的`multiprocessing`模块,可以创建多个进程并行执行不同的任务。每个进程都有自己独立的内存空间,因此可以避免由于多线程共享内存而导致的线程安全问题。以下是一个简单的示例:
```python
import multiprocessing
def worker(num):
"""Worker function"""
print('Worker', num)
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p)
p.start()
```
2. 线程并行
通过使用Python内置的`threading`模块,可以创建多个线程并行执行不同的任务。线程之间共享进程的内存空间,因此需要注意线程安全问题。以下是一个简单的示例:
```python
import threading
def worker(num):
"""Worker function"""
print('Worker', num)
return
if __name__ == '__main__':
jobs = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
jobs.append(t)
t.start()
```
3. 协程并行
通过使用Python内置的`asyncio`模块,可以创建多个协程并行执行不同的任务。协程是一种轻量级的线程,可以在单个线程中实现并发执行。以下是一个简单的示例:
```python
import asyncio
async def worker(num):
"""Worker function"""
print('Worker', num)
return
if __name__ == '__main__':
loop = asyncio.get_event_loop()
tasks = [worker(i) for i in range(5)]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
```
以上是三种常见的Python程序并行实现方式,具体使用哪种方式取决于具体的需求和场景。