【发布时间】:2014-11-30 18:20:06
【问题描述】:
虽然 Selector.select() 在阻塞模式下等待任何一个读/写操作,是否可以将写消息推送到客户端?如何将 Selector 从阻塞模式移动到写入模式?触发器可能是一个后台线程放置需要写入给定通道的数据。
选择器是否会在所有连接被接受后保留它们的状态?是否可以一个线程单独用于阅读而另一个线程用于写入?
【问题讨论】:
虽然 Selector.select() 在阻塞模式下等待任何一个读/写操作,是否可以将写消息推送到客户端?如何将 Selector 从阻塞模式移动到写入模式?触发器可能是一个后台线程放置需要写入给定通道的数据。
选择器是否会在所有连接被接受后保留它们的状态?是否可以一个线程单独用于阅读而另一个线程用于写入?
【问题讨论】:
虽然 Selector.select() 在阻塞模式下等待任何一个读/写操作,是否可以将写消息推送到客户端?
是的,只需致电write()。
如何将 Selector 从阻塞模式移动到写入模式?
没有选择器的写入模式。
一旦所有连接被接受,Selector 是否会保留它们的状态?
我不知道这是什么意思,但您似乎完全误解了 Selector 的工作原理。
是否可以一个线程只用于阅读而另一个用于写作?
当然可以,但在这种情况下,使用 Seector 根本没有意义。最好使用套接字和流。
【讨论】: