我可以从一个线程写入SocketChannel
,而SocketChannel
可能正在为其他线程中的IO操作选择Selector#select()
吗?它是线程安全的吗?或者我是否必须将ByteBuffer
委托给其他线程(无限期地Selector#select()
),以便在SocketChannel
次呼叫后写入Selector#select()
。
此外,SelectionKey#interestOps(int)
设置兴趣操作线程安全吗?或者我是否必须将其委托给其他线程(无限期Selector#select()
)。
答案 0 :(得分:1)
是的,你可以,一般情况下。 select()
中阻止的帖子在被阻止时未使用ByteBuffer
。如果它在其他地方这样做,当然你需要同步,或采取一些其他措施。