BIONIOAIO

Posted panning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BIONIOAIO相关的知识,希望对你有一定的参考价值。

一、基础概念

同步:调用方死等结果,等到结果继续往下走。我调用一个结果,结果返回前我就死等结果。

异步:调用接口后不需要一直死等结果,有结果了通知我。

两者区别就是会不会等待结果,会等待结果的是同步,不会等待结果的是异步。

阻塞:等待返回结果时当前线程被挂起,不能做其他事。

非阻塞:等待返回结果的过程中,我可以去做其他事。

阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.

举个例子:我打电话去书店问,老板,有没有《分布式系统》这本书。

同步机制就是:老板会说,等一等我去查下,结果可能查了5分钟,也可能查了好几天,等查好了告诉我,我就一直在那里死等。

异步机制就是:老板会说,等我找到后给你电话。通过回调这种方式来通知我。

阻塞机制就是:在等待答复过程中,你会把自己挂起,直到得到这本书有没有的结果。

非阻塞机制是:不管老板有没有告诉你,你先一边玩去了,只是过段时间check下老板有没有答复你。

二、BIO(Block IO阻塞IO):服务器会为每个客户端链接开专职一个线程,也就是1VS1的关系,一台服务器可以启动的线程数是固定的,如果一堆请求过来,服务器肯定挂了,这个方案不好。

三、NIO(Non Block IO同步非阻塞IO):

 

以上是关于BIONIOAIO的主要内容,如果未能解决你的问题,请参考以下文章

Java中的BIONIOAIO-3

BIONIOAIO

BIONIOAIO

Java BIONIOAIO

浅析BIONIOAIO

Java BIONIOAIO