python 多进程使用示例
时间: 2023-09-23 17:06:46 浏览: 100
好的,以下是一个简单的 Python 多进程的示例代码:
```python
import multiprocessing
def worker(num):
"""子进程要执行的代码"""
print('Worker %s is running' % num)
if __name__ == '__main__':
# 创建进程池,最大进程数为4
pool = multiprocessing.Pool(processes=4)
# 启动5个子进程
for i in range(5):
pool.apply_async(worker, (i,))
# 关闭进程池,等待所有进程执行完毕
pool.close()
pool.join()
print('All processes have completed')
```
在该示例中,我们使用 Python 自带的 multiprocessing 库创建了一个进程池,并启动了5个子进程。每个子进程会执行 worker 函数中的代码,输出一个字符串。在代码的最后,我们关闭了进程池,等待所有子进程执行完毕,然后输出一个提示信息。
希望这个示例可以帮助你了解 Python 多进程的使用方法。
相关问题
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()
python多进程的示例
下面是一个简单的 Python 多进程示例:
```python
import multiprocessing
def worker(num):
"""打印出当前进程的编号"""
print('Worker %d started' % num)
if __name__ == '__main__':
# 创建5个进程
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
```
在此示例中,我们使用 `multiprocessing` 库创建了5个进程。每个进程都调用 `worker()` 函数,并向其提供一个编号。`if __name__ == '__main__':` 语句用于确保代码只在主进程中运行。
在运行此代码时,你将看到类似以下的输出:
```
Worker 0 started
Worker 1 started
Worker 2 started
Worker 3 started
Worker 4 started
```
每个进程都会打印其编号。由于多个进程同时运行,因此输出顺序可能会有所不同。
阅读全文