之前加了两个人最多的 QQ 群,不过里面每天基本上聊的跟 Vert.X 没关系,都是招聘,斗图,聊一些其他话题什么的。。。而且有一个不知道因为是我在潜水还是咋了,被 T 出去了。
我对这个技术挺感兴趣的,最近又补了补 Java NIO 和 Netty 的相关知识。。。
顺便再提一个 NIO 的问题求大佬解答,NIO 中的Selector.wakeup()
方法应该啥时候调用??
我看很多博客说的很简单,就是让select()
立即返回,疑问是,如果没有事件,返回了有啥用。如果有事件了,不调wakeup()
就返回不了???就是博客没有提到应该在什么场景下去使用。
我看都是让 SK 去 interest 一个新的类型时(比如本来只监听了 OPREAD,现在让 SK 监听 OPWRITE 时会去调一下 wakeup ),难道说不 wakeup,select 就不会返回,我写了 demo 感觉不 wakeup 也能正常进入写事件。
1
40EaE5uJO3Xt1VVa 2020-07-02 12:12:26 +08:00
qq 群 515203212 除了 vertx 啥都聊
|
2
SuanCaiYv 2021-07-07 20:01:15 +08:00
wakeup()一般在你知道此时某个 Channel 可读或可写时调用,手动的唤醒 Selector,让它处理你需要的事件。
比如说你这边处理完数据了,可以写出了,就可以把数据写入到 Channel,然后调用这个方法,加快写出速度。 |