• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1066

5 分钟

#创建进程

在现代计算机系统中,可以同时运行多个程序实例,例如用户可以一边使用 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 通过重新导入模块的方式创建子进程,如果不做此判断,会导致无限递归创建进程。
  • 进程的调度顺序是不确定的,因此输出的顺序也不确定。

创建于 5/11/2025, 3:04:52 PM

更新于 5/11/2025, 3:04:52 PM