java Nio零散知识点整理

本文内容来源自 博客园大牛陈皓的一篇文章 原文 http://blog.csdn.net/haoel/article/details/2224069

在NIO的select机制中:

一个阻塞在select上的线程有以下三种方式可以被唤醒:

1)  有数据可读/写,或出现异常。

2)  阻塞时间到,即time out

3)  收到一个non-block的信号。可由killpthread_kill发出。

 

再回想到为什么每个Selector.open(),在Windows会建立一对自己和自己的loopbackTCP连接;在Linux上会开一对pipepipeLinux下一般都是成对打开),估计我们能够猜得出来——那就是如果想要唤醒select,只需要朝着自己的这个loopback连接发点数据过去,于是,就可以唤醒阻塞在select上的线程了。

 

posted on 2016-09-05 09:48  MaXianZhe  阅读(168)  评论(0编辑  收藏  举报

导航