这期内容当中小编将会给大家带来有关SelectableChannel怎么在java中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
(1)SelectableChannel 是一个抽象类,它实现了 Channel 接口,这个类比较特殊。
(2)SelectableChannel 可以被 Selector 用来多路复用,不过首先需要调用 selectableChannel.configureBlocking(false) 调整为非阻塞模式。
SelectionKey register(Selector sel, int ops) SelectionKey register(Selector sel, int ops, Object att)
第一个参数代表要注册的 Selector 实例。
第二个参数代表本通道感兴趣的操作,这些都定义在 SelectionKey 类中。
第三个参数 Object att 是注册时的附件,也就是可以在注册的时候带点什么东西过去。
知识点扩展:
定义自己的SelectableChannel
我的理解是java实现基于unix select()c函数(我似乎记得 Windows实现略有不同)
根据操作系统(和JVM args!),调用不同的本机OS函数,但它们的共同点是它的本机代码 – 基本功能不是用Java实现的.
如果你想创建一个访问底层操作系统的select()(或类似)的lib(它确实依赖于文件句柄),我认为你几乎被迫使用JNI.我不相信有任何方法可以解决它.
Java中的Selector / SelectableChannel实际上是select()可以做的贫血子集.
上述就是小编为大家分享的SelectableChannel怎么在java中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。