python 多进程示例
时间: 2023-10-13 18:06:47 浏览: 145
好的,以下是一个简单的 Python 多进程示例:
```python
import multiprocessing
def worker(num):
"""进程 worker 函数"""
print('Worker %d started' % num)
if __name__ == '__main__':
# 创建进程池
pool = multiprocessing.Pool(processes=4)
# 启动多个进程执行 worker 函数
for i in range(8):
pool.apply_async(worker, args=(i,))
# 关闭进程池,等待所有进程执行完毕
pool.close()
pool.join()
```
这个程序创建了一个进程池,然后启动多个进程执行 worker 函数。注意,当使用 multiprocessing 模块时,需要将主程序放在 `if __name__ == '__main__':` 下。
相关问题
python多进程示例
下面是一个使用 Python 实现的多进程示例:
```
import multiprocessing
def worker(number):
"""模拟处理任务的函数"""
print(f"worker {number} 正在处理任务")
if __name__ == "__main__":
# 创建多个进程
for i in range(5):
process = multiprocessing.Process(target=worker, args=(i,))
process.start()
```
这段代码创建了 5 个进程,每个进程都调用 `worker` 函数来处理任务。
python 多进程复杂示例
在Python中,多进程是一个强大的工具,可以实现并发执行任务,提高程序性能。下面是一个复杂的多进程示例,它展示了如何使用`multiprocessing`模块创建一个池(Pool)来并行处理一组计算密集型任务:
```python
import multiprocessing as mp
# 定义一个计算斐波那契数列的函数,我们将这个函数分发给工作进程
def fibonacci(n):
if n <= 0:
return "Invalid input"
elif n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
# 创建一个包含4个工作进程的进程池
pool = mp.Pool(processes=4)
# 提交一组计算任务到进程池
tasks = [i for i in range(50)]
results = pool.map(fibonacci, tasks)
# 等待所有任务完成,并打印结果
print("Fibonacci results:", {i: results[i] for i in range(len(tasks))})
# 关闭进程池,释放资源
pool.close()
pool.join()
阅读全文