线程运行中的三种状态:
1、运行态(正在cpu处理)
2、阻塞态(遇到IO操作的时候)
3、就绪态(等待切换cpu处理)
阻塞和非阻塞
阻塞是指遇到IO操作,代码卡住无法执行下一行,cpu自动切换到其他任务。
非阻塞与阻塞正好相反,代码正在执行(运行状态)或处于就绪态。
阻塞和非阻塞都是描述运行的状态。
同步与异步的概念
同步:提交下一步任务,必须等待上一步任务完成,才执行下一行代码
异步:提交下一步任务不需要等待上一步任务完成。
from threading import Thread def task(): sum = 0 for i in range(100000): sum +=i print("111111") print("start") task()#同步关系,只有当这行代码执行完成,下一行代码才会被执行 print("end") print("start1") t = Thread(target=task)#异步提交,不需要等待这行代码,下一行代码就会执行, t.start()#那么线程或进程就是异步提交 print("end2")