一、进程是什么?
进程(Process)是操作系统分配资源的基本单位,可以理解为'一个正在运行的程序实例'。
二、为什么需要多进程
CPU 密集型任务阻塞:比如计算 100 万次循环,单进程会占用一个 CPU 核心,其他核心闲置,程序运行慢; 无法利用多核 CPU:Python 的 GIL(全局解释器锁)导致单线程无法利用多核,但多进程可以突破 GIL(每个进程有独立的 Python 解释器和 GIL)。
三、进程的简单使用
如何使用进程
import multiprocessing
process = multiprocessing.Process()
process.start()
通过进程类创建进程对象
process = multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={})
参数说明:
简单例子
边听音乐边敲代码:
import multiprocessing
import time
def music():
for i in range(3):
print('听音乐...')
time.sleep(0.2)
def coding():
for i in range(3):
print('敲代码...')
time.sleep(0.2)
if __name__ == '__main__':
music_process = multiprocessing.Process(target=music)
coding_process = multiprocessing.Process(target=coding)
music_process.start()
coding_process.start()
四、获取进程编号
获取进程编号的作用
当程序中进程的数量越来越多时,如果没有办法区分主进程和子进程还有不同的子进程,那么就无法进行有效的进程管理,为了方便管理实际上每个进程都是有自己编号的。
获取当前进程 PID
import os
main_pid = os.getpid()
main_ppid = os.getppid()
()
()

