前言
- 进程和线程是操作系统所提供的
- 能让程序在同一时间处理多个任务(让程序能够做到「一心二用」)
进程
- 当我们运行一个程序时,这个程序的代码会被操作系统加载内存中,并创建出一个进程来承载和运行它
- 简单来说,每一个运行中的程序就是一个进程,这个进程被称为主进程
- 在主进程中,我们可以创建子进程来协助处理其它任务,这时主进程和子进程是并行运行的
- 子进程也可以有它的子进程,从而形成以主进程为根的一棵进程树
# 语法1
# multiprocessing.Process() 方法来创建进程
import multiprocessing
p = multiprocessing.Process(target=目标函数, args=(目标函数的参数,))
# 语法2
# start() 方法来启动一个进程
p.start()
%1
import multiprocessing
import os
def target_func():
print('子进程运行')
print('子进程 pid:', os.getpid())
print('子进程的 ppid:', os.getppid())
p = multiprocessing.Process(target=target_func())
p.start()
print('主进程运行')
print('主进程 pid:', os.getpid())
# output:子进程运行
# 子进程 pid: 2312
# 子进程的 ppid: 1856
# 主进程运行
# 主进程 pid: 2312
# 1. 使用 multiprocessing.Process() 来创建进程
# 2. 并为该进程指定要执行的目标函数 target_func、进程启动后将执行该函数
# 3. 使用 start() 方法来启动进程
# 4. 使用 os.getpid() 获取进程的进程 ID、它是进程的唯一的标识、可用于区分进程
# 5. 使用 os.getppid() 获取进程的父进程 ID、父进程是创建子进程的进程
# 6. 主进程的 pid 和子进程的 pid 相同