一个线程 一个进程 都可以叫一个任务。名字而已
看似多任务:同时进行
并发:假的多任务,两个任务来回切换执行,看起来是多任务,CPU来回切换
并行:这才是真正的多任务,两个任务同时在执行,几个CPU同时工作,不需要来回切换
首先了解了解并行与并发:
并发:指任务数多于CPU核数,通过操作系统的各种任务调度算法,实现用多个任务一起执行,实际上总有一些任务不在执行,因为切换任务速度比较快,看上去一起执行而已
并行:指当任务数小于CPU核数时,每一个任务都有相对于的CPU来处理。实现多个任务一起执行
1.什么是线程?
1.一个程序运行起来至少有一个进程,一个进程至少有一个线程
2.处理器CPU分配给线程,即CPU真正运行的是线程中的代码
3.分配CPU给线程时是通过时间轮训方式进行的(也就是将时间分成若各时间片,每个时间片分别分配给不同的线程)
4.进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配的单位
2.两种创建多线程的方式:
a>创建函数并且传入Thread对象
1.导入Threading模块
2.准备任务函数,用来放子线程的函数内容
3.通过threading。Thread()创建子线程,并且子线程执行的代码在任务函数中
4.执行子线程
b> 创建Thread类子类,将要执行的代码写入run函数中
1.创建一个Thread子类,继承Thread的父类
2.重写run函数,里面放子线程的函数内容
3.创建子线程对象并且调用