国际访客建议访问 Primers 编程伙伴 国际服 以获得更好的体验。 快速访问 Python 进程控制 创建进程

# Python 创建进程

在现代计算机系统中,可以同时运行多个程序实例,例如用户可以一边使用 Word 工作,一边使用播放器听音乐。

在运行的程序实例被称作 进程(Process),它是操作系统分配资源的基本单位。每个进程都有自己独立的内存空间和系统资源。

在 Python 中,使用 multiprocessing 模块里的 Process 类创建进程:

p = Process(target=入口函数, args=参数列表)

例如:

from multiprocessing import Process
import os
import time

# 作为进程入口函数
def worker(name):
    for _ in range(3):
        print(f'{os.getpid()}: My name is {name}')
        time.sleep(1)                               # 进程阻塞 1 秒


if __name__ == '__main__':
    p1 = Process(target=worker, args=('worker1',))  # 创建进程
    p2 = Process(target=worker, args=('worker2',)) 
    p1.start()                                      # 启动进程
    p2.start()
    p1.join()                                       # 等待进程结束
    p2.join()

运行结果:

45352: My name is worker1
94204: My name is worker2
45352: My name is worker1
94204: My name is worker2
45352: My name is worker1
94204: My name is worker2

注意

  • 主进程必须判断 __name__ == '__main__',因为 Python 通过重新导入模块的方式创建子进程,如果不做此判断,会导致无限递归创建进程。

  • 进程的调度顺序是不确定的,因此输出的顺序也不确定。

本文 更新于: 2025-05-31 19:53:12 创建于: 2025-05-31 19:53:12