python入门20180721-异步编程和事件驱动

 

 

同步/异步

同步和异步描述的是进程/线程的调用方式。

1、同步调用指的是线程发起调用后,一直等待调用返回后才继续执行下一步操作,这并不代表CPU在这段时间内也会一直等待,操作系统多半会切换到另一个线程上去,等到调用返回后再切换原来的线程

2、异步就相反,发起调用后,线程继续向下执行,当调用返回后,通过某种手段来通知调用者。

调用返回,指的是内核进程将数据复制到调用进程;

 

异步编程模型

1、单线程

2、任务交错执行

 

线程/进程状态模型

 

 阻塞与非阻塞是针对IO状态而言的,关注程序再等待IO调用返回这段时间的状态;

 

IO编程模型

IO通常有两个阶段:准备数据和返回结果

阻塞IO:线程/进程发出系统调用请求之后,进程就一直等待上述两个阶段完成,等到拿到返回结果之后再运行;

非阻塞IO:发起调用后,如果数据还没有就绪,就马上返回一个结果,告诉进程数据还没有就绪;进程会不断的查询内核状态;

 

 

事件驱动模型

 

 

asyncio模块

目前用的很少

posted on 2018-07-21 19:30  欢喜等大年  阅读(120)  评论(0编辑  收藏  举报

导航