NIO的非阻塞式网络通信

阻塞与非阻塞:

虚拟内存被操作系统划分成两块:内核空间和用户空间,内核空间是内核代码运行的地方,用户空间是用户程序代码运行的地方。当进程运行在内核空间时就处于内核态,当进程运行在用户空间时就处于用户态。

服务端会判断内核地址空间有没有数据,如果没有数据的话,此时的服务端就处于等待状态。

 

 

 

后来,我们想到使用多线程,虽然能够提高CPU资源的利用率,但是多线程的总的数量毕竟是有限的,当大量读写请求过来的时候,任然会有部分出现阻塞的情况发生。

 

随着进一步的发展,我们开始使用选择器:

 

posted on 2021-02-20 23:44  ~码铃薯~  阅读(56)  评论(0编辑  收藏  举报

导航