我想知道选择器最多可以处理多少个通道?我熟悉常见的I / O算法,但我不知道NIO
是否可以使用选择器来处理(例如)10000个套接字。应该使用多个线程并在每个线程中都有一个选择器来处理特定数量的套接字?
虽然我找到this,但它没有解决这个具体问题。
答案 0 :(得分:4)
除了套接字描述符的数量之外没有其他限制。某些平台有潜在的限制,但NIO使用每个Selector.
Java 1.4.1有一个限制,但它早已不复存在。
应该使用多个线程并在每个线程中都有一个选择器来处理特定数量的套接字?
这是可能的,但我真的不明白为什么你应该这样做。也许同行可能会以这种方式获得更多常规服务,这取决于您的代码与每个请求的关系。