Java NIO Socket Framework据称隐藏了开发人员的非阻塞IO的脏细节,允许他们构建高度可扩展的应用程序,只需一个线程即可处理10000多个传入和传出套接字。
对于典型版本的Java 2 SE / EE,非阻塞IO是否仍然很痛苦?
这个框架是否仍然必要且有用?
感谢您的时间。
答案 0 :(得分:3)
当然,NIO会对某些细节进行抽象。非阻塞IO仍然是一个让你头晕目眩的痛苦(至少,我发现它是),但至少它是可行的。 (我个人更喜欢.NET风格的异步IO,但这是另一回事。)
我通常使用阻止IO:对于大多数任务,这就是我所需要的,并且使用非阻塞IO我不会获得显着的收益。在某些情况下(例如你提到的那个),如果你想让线程保持不变,非阻塞IO真的是唯一的前进方式。
我建议您了解它,使用它,然后使用判断来决定何时在生产代码中使用它。我不建议开始使用到处 ...
答案 1 :(得分:1)