疯子姓张

一定要站在巨人的肩膀上去学习。

导航

阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO

目前最好的是异步IO!!!!

文章参考:https://www.cnblogs.com/lesroad/p/10804758.html

目标:我去老板家拿苹果走人!!!

    区别
异步IO 异步IO

不需要等到IO执行成功,程序依旧可以继续往下执行。

说白了就是,程序的进行不依赖IO成功执行的结果

我走去老板家,发现老板不在,

写便条(等他回家后,把苹果送过来给我),回家

用户请求不依赖IO的执行结果

cpu:释放

内存:释放

同步IO 阻塞IO

一定要等到IO执行成功,

程序才会继续往下执行

我走去老板家,发现老板不在,

就一直在家门口等着,等老板回来,拿上苹果,回家。

用户请求依赖IO的执行结果(比如:实时)

 

 

cpu:不释放

内存:不释放

非阻塞IO

我走去老板家,发现老板不在,直接回家。

过了一会儿,我又走去老板家,发现老板不在,直接回家。

过了一会儿,我又走去老板家,发现老板在了,拿上苹果,回家。

 

cpu:释放

内存:释放

多路复用

老板家外有一个保安室。

我走去老板家,问保安室,老板在不在,保安室回答不在,于是我就在保安室等。

又过了一会,保安室又检查了一下主人家,发现主人在了,告诉我主人在了,然后我走进去主人家,拿上苹果,回家

 

cpu:不释放

内存:不释放

 

posted on 2020-05-25 14:07  菠萝奶油饭  阅读(44)  评论(0编辑  收藏  举报