示范下 multiprocessing 模块的使用
时间: 2023-05-17 18:07:08 浏览: 77
当你需要在 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()
```
在这个示例中,我们定义了一个 worker 函数,它接受一个参数 num,并打印出一个字符串。然后我们使用 multiprocessing 模块创建了 5 个进程,并将它们添加到 jobs 列表中。最后,我们启动了这些进程。
注意,我们在 if __name__ == '__main__': 中使用了这个条件语句,这是因为在 Windows 系统中,如果不加这个条件语句,会导致多个进程无法正常工作。
这就是 multiprocessing 模块的简单示例。
相关问题
multiprocessing 模块使用示例
好的,下面是一个使用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()
```
这个示例中,我们定义了一个worker函数,并使用multiprocessing模块创建5个进程来执行这个函数。每个进程都会打印出一个数字,表示它是第几个进程。
multiprocessing模块使用方法附代码
multiprocessing 是 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()
```
在这个例子中,我们定义了一个函数 `worker`,它接受一个参数 `num`,并简单地打印一条消息。然后,我们使用 `multiprocessing.Process` 类创建了 5 个进程,每个进程都调用 `worker` 函数,传入不同的参数。最后,我们使用 `start` 方法启动了这些进程。
注意到我们使用了 `if __name__ == '__main__':` 来保证该脚本只在主进程中运行,而其他子进程不会再次运行该脚本。
上述代码执行后,将会输出类似以下内容的 5 行消息:
```
Worker: 0
Worker: 1
Worker: 2
Worker: 3
Worker: 4
```
当然,multiprocessing 模块可以做的事情远不止如此,还包括进程池、锁、队列等等。如果有需要,可以查看官方文档了解更多信息。
阅读全文