同步与异步

线程运行中的三种状态:

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")

 

posted @ 2018-11-13 14:49  msjaxuexi  阅读(100)  评论(0编辑  收藏  举报