python中,multiprocessing使用
时间: 2023-08-07 20:31:54 浏览: 41
`multiprocessing` 模块可以方便地利用多核CPU来进行并行计算,下面是一个简单的使用示例:
```python
import multiprocessing
def worker(num):
"""定义一个进程执行的任务"""
print('Worker', num)
return
if __name__ == '__main__':
# 创建4个进程
for i in range(4):
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
```
这个程序会创建4个进程,每个进程都会调用 `worker` 函数进行打印输出。`multiprocessing.Process` 类用于创建一个进程对象,其中 `target` 参数传入需要执行的函数名,`args` 参数传入函数需要的参数,这里是一个整数 `num`。
需要注意的是,由于 `multiprocessing` 模块是跨平台的,因此在 Windows 系统上,必须将进程创建放在 `if __name__ == '__main__':` 之内,以防止创建进程时出现循环导入的问题。
相关问题
python中multiprocessing
Python中的`multiprocessing`模块是一个用于创建多进程程序的模块,它支持并发执行,可以充分利用计算机的多核CPU。`multiprocessing`模块提供了两种创建进程的方式:一种是使用`Process`类,另一种是使用`Pool`类。使用`Process`类可以手动创建和管理进程,而使用`Pool`类则可以自动管理进程并分配任务。
以下是一个简单的例子,演示了如何使用`multiprocessing`模块创建两个进程:
```python
import multiprocessing
def worker(num):
"""thread 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: 0
Worker: 1
Worker: 2
Worker: 3
Worker: 4
```
Python 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()
```
这个样例创建了5个进程,每个进程都调用 `worker` 函数,并且传入一个整数参数。
在这个样例中,我们使用了 `multiprocessing.Process` 类来创建一个进程对象,然后调用 `start()` 方法来启动进程。`args` 参数是一个元组,它包含传递给 `worker` 函数的参数。在 `worker` 函数内部,我们打印出了进程的编号。
需要注意的是,在 Windows 系统中,必须将代码放在 `if __name__ == '__main__':` 语句块中,否则会出现奇怪的问题。这是因为 Windows 中的多进程模块使用了不同的机制来启动子进程。在 Linux 系统中,这个限制不是必需的。