python多线程
多任务介绍
多任务的优势:
最大的好处是充分利用CPU的资源,提高程序执行效率
多任务的概念:
多任务是指在同一时间内执行多个任务
两种表现形式:
- 并发:在一段时间内交替去执行多个任务(任务数量大于CPU核心数)
- 并行:在一段时间内真正同时一起执行多个任务(任务数量小于等于CPU核心数)
进程介绍
进程概念:
进程(Process)是资源分配的最小单位,它是操作系统进行资源分配和调度运行的基本单位。
例如:正在运行的QQ,微信等,他们都是一个进程(正在运行->进程 没有在运行->程序)
一个程序运行至少有一个进程
多线程的作用:
主进程:程序运行会默认创建一个进程,这个默认的进程我们称之为主进程
子进程:程序运行之后又创建了一个进程,这个新创建的进程我们称之为子进程
使用多进程完成多任务
进程创建步骤
- 导入进程包 import multiprocessing
- 通过进程类创建进程对象
进程对象 = multiprocess_Process(target = 任务名) - 启动进程执行任务
进程任务.start()
通过进程类创建进程对象
点击查看代码
进程对象 = multiprocess.Process(target = 任务名)
#创建子进程
sing_process = multiprocessing.Process(target = sing)
#创建子进程
sing_process = multiprocessing.Process(target = dance)
#启动进程
sing_process.start()
dance_process.start()
进程执行带有参数的任务
| 参数名 | 说明 |
|---|---|
| args | 以元组的方式给执行任务传参 |
| kwargs | 以字典方式给执行任务传参 |
案例:
点击查看代码
import time
import mulitprocessing
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,))
dance_process = multiprocessing.Process(target = dance,kwargs = {"num":3})
sing_process.start()
dance_process.start()
获取进程编号
进程编号的作用:
为了方便管理实际上每个进程都是有自己的编号
获取当前进程编号:
os.getpid()
import os
pid = os.getpid()
print(pid)
获取当前父进程编号:
os.getppid()
进程注意点(attention)
- 主进程会等待所有的子进程执行结束后再结束
- 设置守护主进程:
主进程退出后子进程直接销毁,不再执行子进程中的代码
sing_process.daemon = True子进程守护主进程

掌握python基础语法,文件和文件夹操作,模块使用;进程、线程,多任务应用
浙公网安备 33010602011771号