Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IO性能:选择器(NIO)与异步通道(NIO.2)_Java_Performance_Nio_Nio2 - Fatal编程技术网

Java IO性能:选择器(NIO)与异步通道(NIO.2)

Java IO性能:选择器(NIO)与异步通道(NIO.2),java,performance,nio,nio2,Java,Performance,Nio,Nio2,奇怪的是,我无法在Google中找到NIO.2异步IO性能与通过java.NIO.channels.Selector使用NIO多路IO的明确答案 所以,我的问题是: NIO.2异步通道是否比NIO选择器具有更好的性能? 当然,我对不同负载模式下服务器端的事情感兴趣——同时连接数/平均连接寿命/流量 我能找到的唯一信息是Windows IOCP略优于Windows select。我认为NIO.2的性能不会比NIO好,因为NIO.2仍然使用select/poll系统调用和线程池来模拟异步IO。一个例

奇怪的是,我无法在Google中找到NIO.2异步IO性能与通过java.NIO.channels.Selector使用NIO多路IO的明确答案

所以,我的问题是: NIO.2异步通道是否比NIO选择器具有更好的性能? 当然,我对不同负载模式下服务器端的事情感兴趣——同时连接数/平均连接寿命/流量


我能找到的唯一信息是Windows IOCP略优于Windows select。

我认为NIO.2的性能不会比NIO好,因为NIO.2仍然使用select/poll系统调用和线程池来模拟异步IO。一个例子是在4.0.0中,因为作者认为NIO.2在Linux平台上的性能并不比NIO好。

或者您可以使用基于线程的I/O。。。它的性能很好,而且通常比异步I/O要好。两者的用途不同。话虽如此,使用选择器可以有效地减少CPU和内存占用,因为您使用的是单线程。这也有助于调试。更多的线程=你提供的更多链接真的很有帮助。有人提到,由于Windows7选择器的性能不是那么差是的,因为Windows中的IOCP支持异步IO操作,虽然它也是通过线程池实现的,但实现在内核级别,所以它实现了一些性能增强。