标签:基础概念 同步非阻塞 bio 答复 概念 接口 状态 返回值 结果
一、基础概念
同步:调用方死等结果,等到结果继续往下走。我调用一个结果,结果返回前我就死等结果。
异步:调用接口后不需要一直死等结果,有结果了通知我。
两者区别就是会不会等待结果,会等待结果的是同步,不会等待结果的是异步。
阻塞:等待返回结果时当前线程被挂起,不能做其他事。
非阻塞:等待返回结果的过程中,我可以去做其他事。
阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.
举个例子:我打电话去书店问,老板,有没有《分布式系统》这本书。
同步机制就是:老板会说,等一等我去查下,结果可能查了5分钟,也可能查了好几天,等查好了告诉我,我就一直在那里死等。
异步机制就是:老板会说,等我找到后给你电话。通过回调这种方式来通知我。
阻塞机制就是:在等待答复过程中,你会把自己挂起,直到得到这本书有没有的结果。
非阻塞机制是:不管老板有没有告诉你,你先一边玩去了,只是过段时间check下老板有没有答复你。
二、BIO(Block IO阻塞IO):服务器会为每个客户端链接开专职一个线程,也就是1VS1的关系,一台服务器可以启动的线程数是固定的,如果一堆请求过来,服务器肯定挂了,这个方案不好。
三、NIO(Non Block IO同步非阻塞IO):
标签:基础概念 同步非阻塞 bio 答复 概念 接口 状态 返回值 结果
原文地址:https://www.cnblogs.com/panning/p/9893015.html