Java异步套接字IO

Java异步套接字IO,java,asynchronous,io,nio,Java,Asynchronous,Io,Nio,我已经看了所有的地方,但是我找不到一个好的例子来解释NIO2或者如何使用Java套接字进行异步IO。例如,如果我想通过允许线程使用异步IO而不是常规同步IO来读取套接字来加速web爬虫程序,我将如何实现这一点?NIO2并不比同步I/O快。它允许用几个线程运行多个连接(上万个)。如果您可以为每个连接花费一个线程,请使用同步I/O—它更易于编程。很抱歉回复太晚。你能澄清一下什么时候使用NIO2合适吗?换句话说,什么时候使用更少的线程和更多的连接会更好,而不是每个线程有更多的线程和一个连接?线程占用大

我已经看了所有的地方,但是我找不到一个好的例子来解释NIO2或者如何使用Java套接字进行异步IO。例如,如果我想通过允许线程使用异步IO而不是常规同步IO来读取套接字来加速web爬虫程序,我将如何实现这一点?

NIO2并不比同步I/O快。它允许用几个线程运行多个连接(上万个)。如果您可以为每个连接花费一个线程,请使用同步I/O—它更易于编程。

很抱歉回复太晚。你能澄清一下什么时候使用NIO2合适吗?换句话说,什么时候使用更少的线程和更多的连接会更好,而不是每个线程有更多的线程和一个连接?线程占用大量内存,因此在计算机上使用超过1000个线程是不现实的,即使是功能强大的服务器机器也很难同时承载超过10000个线程。因此,内存消耗是主要标准。我会说,对于100个线程,我想如果我能花这么多内存的话。