python - [07] 多进程
题记部分
001 || 进程的创建步骤
a.导入进程包
import multiprocessing
b.通过进程类创建进程对象
进程对象 = multiprocessing.Process(target=任务名)
| 参数名 | 说明 |
| target | 执行的目标任务名,这里指的是函数名(方法名) |
| name | 进程名,一般不用设置 |
| group | 进程组,目前只能使用None |
c.启动进程执行任务
进程对象.start()
进程创建与启动的代码
# 创建子进程
sing_process = multiprocessing.Process(target=sing)
# 创建子进程
dance_process = multiprocessing.Process(target=dance)
# 启动进程
sing_process.start()
dance_process.start()
002 || 单任务 vs 多线程
单任务
import time
def sing():
for i in range(3):
print("唱歌...")
time.sleep(0.5)
def dance():
for i in range(3):
print("跳舞...")
time.sleep(0.5)
if __name__ == '__main__':
sing()
dance()
先执行sing(),后执行dance(),每次执行耗时0.5s,共计3s
PS E:\WorkSpace\test> & D:/Environment/Python/Python312/python.exe e:/WorkSpace/test/thread/01-单任务.py
唱歌...
唱歌...
唱歌...
跳舞...
跳舞...
跳舞...
多任务
# 1. 导入进程包
# 2. 使用进程类创建进程对象
# 3. 使用进程对象启动进程执行指定任务
import multiprocessing
import time
def sing():
for i in range(3):
print("唱歌...")
time.sleep(0.5)
def dance():
for i in range(3):
print("跳舞...")
time.sleep(0.5)
if __name__ == '__main__':
# 使用进程类创建进程对象
# target参数指定进程执行的函数名
sing_process = multiprocessing.Process(target=sing)
dance_process = multiprocessing.Process(target=dance)
# 使用进程对象启动进程执行指定任务
sing_process.start()
dance_process.start()
sing()和dance()同时执行,耗时共1.5s
PS E:\WorkSpace\test> & D:/Environment/Python/Python312/python.exe e:/WorkSpace/test/thread/02-使用多进程实现多任务.py
唱歌...
跳舞...
唱歌...
跳舞...
唱歌...
跳舞...
003 || 进程执行带有参数的任务
| 参数 | 说明 |
| args | 以元组的方式给执行任务传参 |
| kwargs | 以字典方式给执行任务传参 |
args参数的使用
# target: 进程执行的函数名
# args: 表示以元组的方式给函数传参
sing_process = multiprocessing.Process(target=sing, args=(3,))
sing_process.start()
kwargs参数的使用
# target: 进程执行的函数名
# kwargs: 表示以字典的方式给函数传参
dance_process = multiprocessing.Process(target=dance,kwargs={"num": 3})
# 启动进程
dance_process.start()

浙公网安备 33010602011771号