一篇文章搞懂同步、异步、阻塞、非阻塞、BIO、NIO和AIO( 三 )


在等待数据的过程中 , 用户线程继续执行 , 在拷贝数据的过程中 , 线程在阻塞 , 这就是异步阻塞IO 。
在等待数据的过程中 , 和拷贝数据的过程中 , 用户线程都在继续执行 , 这就是异步非阻塞IO 。
第一种情况是 , 用户线程没有参与数据等待的过程 , 所以它是异步的 。 但用户线程参与了数据拷贝的过程 , 所以它又是阻塞的 。 合起来就是异步阻塞IO 。
第二种情况是 , 用户线程既没有参与等待过程也没有参与拷贝过程 , 所以它是异步的 。 当它接到通知时 , 数据已经准备好了 , 它没有因为IO数据而阻塞过 , 所以它又是非阻塞的 。 合起来就是异步非阻塞IO 。
一篇文章搞懂同步、异步、阻塞、非阻塞、BIO、NIO和AIO文章插图
程序猿的路也有诗和远方 。