BIO 同步阻塞io,当一个线程在对某资源进行IO操作时会出现阻塞。
NIO 同步非阻塞io,一个分发线程轮训io的状态,io完成后,给线程处理。
比如说都是用线程池处理,那么当是用bio的时候,1个线程需要阻塞5min,然后执行5min。
那么虽然使用了线程池,但是当所有可用线程都阻塞了之后,后面的连接还是需要等待。
如果使用nio,则可用线程不需要等待,当轮训线程发现io完成,执行线程就会执行,提高了一倍的效率。
然后异步io,指的在io完成之后,会通知调用方。这样实现的异步,不用用户线程轮训。