在之前的Netty之线程唤醒wakeup文章中, 介绍了如何唤醒Netty中的监听线程....至于向6号管道写什么数据,不是那么重要,比如下面的视频,我们向6号管道写了一个1,甚至我们什么多不写都可以,依然可以唤醒阻塞的IO线程....我们把上面的Java代码在Windows平台编译并运行它
通过TCPView工具查看
我们发现,在进程内有一对TCP连接,那么这对TCP连接就是类似上面说的管道的作用,用来唤醒阻塞在select方法的线程...我们可以通过关闭某个TCP连接,看一下阻塞在select方法的线程是否会被唤醒....本篇主要讲解在Linux平台和Windows平台, 被阻塞在select方法的IO线程是通过什么手段被唤醒的.在Linux平台是通过管道的方式, 而在Windows平台是通过TCP连接的方式.