python 多进程使用方法以及示例
时间: 2023-10-24 10:14:52 浏览: 95
Python中可以通过multiprocessing模块来实现多进程。下面是一个简单的示例,展示如何创建多进程并对它们进行操作:
```python
import multiprocessing
# 定义一个函数用于进程操作
def worker(num):
"""thread worker function"""
print('Worker:', num)
return
if __name__ == '__main__':
# 创建进程池
pool = multiprocessing.Pool(processes=4)
# 启动进程
pool.map(worker, range(10))
```
在这个示例中,我们首先定义了一个函数worker,它将在进程中运行。然后我们使用multiprocessing.Pool方法创建一个进程池,设置进程数为4。最后,我们使用pool.map方法启动进程,将worker函数作为参数传递给它。
这个示例中,我们启动10个进程,每个进程都会调用worker函数。由于我们设置了进程池的大小为4,因此最多会有4个进程同时运行。在这个示例中,我们只是简单地打印了每个进程的编号,但你可以在worker函数中实现任何你想要的操作。
相关问题
python 多进程使用示例
好的,以下是一个简单的 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提供了多种实现多进程相互等待的方式,下面是一个示例代码:
```python
import multiprocessing
import time
def worker1():
print("Worker 1 started")
time.sleep(2)
print("Worker 1 finished")
def worker2():
print("Worker 2 started")
time.sleep(3)
print("Worker 2 finished")
if __name__ == "__main__":
# 创建两个进程
p1 = multiprocessing.Process(target=worker1)
p2 = multiprocessing.Process(target=worker2)
# 启动进程
p1.start()
p2.start()
# 等待进程结束
p1.join()
p2.join()
print("All workers finished")
```
在上面的代码中,我们创建了两个进程`worker1`和`worker2`,它们分别会休眠2秒和3秒,然后打印出相应的信息。在主进程中,我们使用`p1.join()`和`p2.join()`来等待两个进程的结束。这样可以确保主进程在两个子进程都完成后再继续执行。
阅读全文