我正在开发一个Android应用程序,我在其中使用SocketChannel和Selector将网络请求发送到我的服务器。
我在一个线程上有一个选择器,注册了OP_CONNECT
,OP_WRITE
和OP_READ
,并调用select()
方法接收这些事件。
任何人都可以建议我使用单个选择器进行SocketChannel多线程注册的正确方法吗?
答案 0 :(得分:1)
耗时的部分是对频道的实际读/写。所以基本上你会
select()
。一旦返回值> 0,获取一组选择键,并确定是否要在相关通道上读/写。Runnable
实例。