Java之io nio aio 的区别

Posted 猪哥哥厉害

tags:

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

这个问题最近面试总是遇到,作为一个只会写流水代码的程序员,一脸懵逼。看了网上的解释,看的还是很模糊,说下我对这个的理解。

先引出一个话题,两个大水缸,一个空一个满,让你把一个缸里面的水弄到另一个里面。

io:同步阻塞,最蠢的办法,拿个水瓢,盛水,来回跑。

nio:同步非阻塞,先来一根水管。水管一头放到空水缸,拿个水瓢,通过管道口,灌水。

aio:异步非阻塞,同样是水管,用抽水机抽,自己就不用辛苦了。

再来说下同步异步,同步,你拿着水瓢来回跑还是往管都口灌水,你都不能停,一直到完成,

那阻塞非阻塞呢?阻塞。你拿着一水瓢水。往另一个水缸送,其他的水只有等着这瓢水送完才能被送到目的地大水缸,这个是阻塞的

非阻塞。管道的水,源源不断的进入管道。

说下各自用法。

io比如你的水少,几下就搞完了,还要用管道,抽水机吗?

nio,水可能有点多了,为了速度,

aio,一条河的水,你一个人拿着水瓢,也很慢,而且你也很累

以上是关于Java之io nio aio 的区别的主要内容,如果未能解决你的问题,请参考以下文章

java soket通信总结 bio nio aio的区别和总结

IO(BIO),NIO,AIO的深度解析和区别

Java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?

Java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?

Java中IO流分为几种?BIO,NIO,AIO 有什么区别?

详解 同步异步阻塞非阻塞 与 BIO NIO AIO区别多路复用