Java nio&bio的个人看法

来源:互联网 发布:淘宝基础版和智能板 编辑:程序博客网 时间:2024/06/01 07:32

BIO 同步阻塞io,当一个线程在对某资源进行IO操作时会出现阻塞。
NIO 同步非阻塞io,一个分发线程轮训io的状态,io完成后,给线程处理。

比如说都是用线程池处理,那么当是用bio的时候,1个线程需要阻塞5min,然后执行5min。
那么虽然使用了线程池,但是当所有可用线程都阻塞了之后,后面的连接还是需要等待。
如果使用nio,则可用线程不需要等待,当轮训线程发现io完成,执行线程就会执行,提高了一倍的效率。

然后异步io,指的在io完成之后,会通知调用方。这样实现的异步,不用用户线程轮训。

原创粉丝点击