Python创建子进程不阻塞主进程
时间: 2023-11-05 18:58:35 浏览: 212
python实现启动一个外部程序,并且不阻塞当前进程
5星 · 资源好评率100%
在 Python 中,可以使用 `multiprocessing` 模块来创建子进程。创建子进程不会阻塞主进程,主进程可以继续执行其他任务。
以下是一个简单的例子,演示如何创建子进程:
```python
import multiprocessing
def worker():
"""子进程要执行的任务"""
print('Worker process')
if __name__ == '__main__':
p = multiprocessing.Process(target=worker)
p.start()
print('Main process')
```
在这个例子中,我们定义了一个 `worker` 函数作为子进程要执行的任务。然后,我们使用 `multiprocessing.Process` 类创建了一个新的进程对象 `p`,并将 `worker` 函数作为参数传递给它。接着,我们调用 `start` 方法来启动子进程,并在主进程中打印出一条消息。
当我们运行这个程序时,会看到输出:
```
Main process
Worker process
```
可以看到,主进程和子进程是并行执行的,主进程并没有被阻塞。需要注意的是,在 Windows 系统中,必须将 `target` 函数放在 `if __name__ == '__main__'` 语句块中执行,否则会出现异常。这是因为 Windows 系统的进程模型与 Unix/Linux 系统有所不同。
阅读全文