Python多线程编程
1 进程
1.1 多任务的介绍
- 多任务是指在同一时间内执行多个任务
- 多任务的最大好处是充分利用CPU资源提高程序的执行效率
- 多任务的两种表现形式
- 并发
在一段时间内交替去执行多个任务 - 并行
在一段时间内真正的同时一起执行多个任务
- 并发
1.2 进程的介绍
在Python中,想要实现多任务可以使用多进程来完成
- 进程(Process)是资源分配的最小单位,它是操作系统进行资源分配和调度运行的基本单位,通俗理解:一个正在运行的程序就是一个进程,例如:正在运行的qq,微信等他们都是一个进程
- 程序运行会默认创建一个进程,这个默认创建的进程我们称之为主进程
- 程序运行后又创建了一个进程这个新创建的进程我们称之为子进程
1.3 多进程完成多任务
1.3.1 进程的创建步骤
- 导入进程包
import multiprocessing
- 通过进程类创建进程对象
进程对象 = multiprocessing.Process(target=任务名)
参数名 | 说明 |
---|---|
target | 执行的目标任务名,这里指的是函数名(方法名) |
name | 进程名,一般不用设置 |
group | 进程组 |
args | 以元组的方式给执行任务传参,需保证顺序和方法的参数顺序一致 |
kwargs | 以字典的方式给执行任务传参,需保证key和方法的参数名一致 |
- 启动进程执行任务
进程对象.start()
1.3.2 进程创建与启动的代码
import multiprocessing
import time
# 唱歌
def sing(num):
for i in range(num):
print('唱歌...')
time.sleep(0.5)
# 跳舞
def dance(num):
for i in range(num):
print('跳舞...')
time.sleep(0.5)
if __name__ == '__main__':
# 使用进程类创建进程对象
sing_process = multiprocessing.Process(target=sing, args=(3,