Python的Process
函数是multiprocessing
模块的核心功能,用于创建和管理子进程以实现并发执行。以下是关键信息整合:
一、基本用法
-
创建子进程
from multiprocessing import Process def worker(name): print(f"Hello, {name}!") if __name__ == '__main__': p = Process(target=worker, args=("Alice",)) p.start() p.join()
-
target
:子进程执行的函数或方法。 -
args
:位置参数元组(如("Alice",)
)。 -
kwargs
:关键字参数字典(如{'name': 'Bob'}
)。
-
-
启动与等待
-
start()
:立即启动子进程。 -
join()
:等待子进程完成并回收资源。
-
二、核心参数解析
-
必填参数 :
target
(函数名)、args
(参数元组)。 -
可选参数 :
-
name
:进程名称(如p.name = "Worker"
)。 -
daemon
:是否为守护进程(默认False
)。 -
group
:进程组(未使用)。
-
三、资源管理
-
强制终止风险 :使用
terminate()
会强制结束子进程,可能导致资源未释放(如僵尸进程)。 -
优雅退出 :推荐使用
join()
等待子进程自然结束,确保资源回收。
四、注意事项
-
避免递归创建进程 :
__name__ == '__main__'
保护防止递归启动子进程。 -
进程间通信 :可通过
Queue
、Pipe
等模块实现数据共享。
五、适用场景
适用于CPU密集型任务或需要并行处理多个独立任务的场景,通过多进程提升程序效率。