02-站在内核角度分析NIO实现原理

同步和异步的区别

同步是程序从上往下执行,异步是新开启一个分支,相互不会影响。

站在Http协议上分析同步与异步区别:

我们的Http协议请求默认情况下同步形式调用,如果调用过程非常耗时的情况下 客户端等待时间就非常长, 这种形式我们可以理解阻塞式;

解决办法:耗时的代码我们可以使用多线程或者MQ实现处理,但是不能立马获取结果; 客户端可以主动查询。

异步可以用多线程或者是mq

image.png

image.png

阻塞与非阻塞的区别

阻塞:如果我没有获取到结果的情况下,当前线程从运行状态切换为阻塞状态 内核角度分析:用户空间切换到内核空间

非阻塞:如果我没有获取到结果的情况下,当前的线程不会阻塞。

image.png

BIO(Blocking IO) 同步阻塞模型

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容