阻塞与非阻塞 同步与异步

ぃ、小莉子 提交于 2019-12-15 20:08:35

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

如果你想吃一份宫保鸡丁盖饭: 
    同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊! 
    同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜一会儿,就回饭馆喊一声:好了没啊! 
    异步阻塞:遛狗的时候,接到饭馆电话,说饭做好了,让您亲自去拿。    
    异步非阻塞:饭馆打电话说,我们知道您的位置,一会给你送过来,安心遛狗就可以了。 

一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作。 
    同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO。 
    阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!