python中如何创建多进程

以山河作礼。 编程之皇
新星计划导师
博客专家认证
2023-04-14 22:26:58

在Python中,可以使用`multiprocessing`模块来创建多进程。`multiprocessing`模块是Python标准库中的一个模块,它提供了一个类似于`threading`模块的接口,但是可以创建进程而不是线程。

下面是创建多进程的步骤:

1. 导入`multiprocessing`模块

```python
import multiprocessing
```

2. 创建进程对象

```python
p = multiprocessing.Process(target=func, args=(arg1,arg2,...))
```

其中`func`是要在子进程中执行的函数,`args`是传递给函数的参数。

3. 启动进程

```python
p.start()
```

4. 等待进程结束

```python
p.join()
```

完整的代码示例:

```python
import multiprocessing

def func(name):
    print('hello', name)

if __name__ == '__main__':
    p = multiprocessing.Process(target=func, args=('world',))
    p.start()
    p.join()
```

在这个例子中,我们创建了一个名为`func`的函数,它接受一个参数`name`,并打印出`hello`和该参数。然后我们使用`multiprocessing.Process`类创建了一个进程对象,并指定要在子进程中执行的函数和参数。最后,我们启动了进程,并等待它结束。

需要注意的是,在Windows系统中,由于`multiprocessing`模块使用了`fork`系统调用,而Windows不支持`fork`,因此在Windows中使用`multiprocessing`模块时,需要将代码放在`if __name__ == '__main__':`语句块中。这是因为在Windows中,每个进程都会重新导入模块,如果不加这个语句块,就会导致无限递归。

...全文
269 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

39,359

社区成员

发帖
与我相关
我的任务
社区描述
山河社区是一个专注于Python编程学习和交流的社群。社区中的成员可以分享自己的学习心得、经验和项目,互相帮助和支持。
python 个人社区 江西省·抚州市
社区管理员
  • 以山河作礼。
  • 初阶牛
  • 花想云
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧