 <p>There is no limit other than the number of socket descriptors. Some platforms have underlying limits, but NIO works around them with multiple OS selectors per <code>Selector.</code></p> <blockquote> <p>Should use a number of threads and have a selector in each for handling a specific number of sockets?</p> </blockquote> <p>It's possible, but I don't really see why you should. Maybe the peers might get more regular service that way, it depends what your code has to do with every request.</p>