看了这个java nio的教程,明白了什么是Selector.wakeUp()
[url]http://ifeve.com/selectors/[/url]
wakeUp()
某个线程调用select()方法后阻塞了,即使没有通道已经就绪,也有办法让其从select()方法返回。只要让其它线程在第一个线程调用select()方法的那个对象上调用Selector.wakeup()方法即可。阻塞在select()方法上的线程会立马返回。
如果有其它线程调用了wakeup()方法,但当前没有线程阻塞在select()方法上,下个调用select()方法的线程会立即“醒来(wake up)”。
[url]http://ifeve.com/selectors/[/url]
wakeUp()
某个线程调用select()方法后阻塞了,即使没有通道已经就绪,也有办法让其从select()方法返回。只要让其它线程在第一个线程调用select()方法的那个对象上调用Selector.wakeup()方法即可。阻塞在select()方法上的线程会立马返回。
如果有其它线程调用了wakeup()方法,但当前没有线程阻塞在select()方法上,下个调用select()方法的线程会立即“醒来(wake up)”。
本文详细介绍了如何使用Java NIO中的Selector.wakeUp()方法来唤醒正在阻塞状态下的线程。当一个线程调用select()方法进入阻塞状态时,即使没有通道就绪,也可以通过调用wakeup()方法使其立即返回。
1333

被折叠的 条评论
为什么被折叠?



