约 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