java nio 让我很纠结
JAVA NIO出来后,大家都说比原IO性能好,我相信肯定绝对一定是这样的。
但是我很纠结,为什么呢?大致的理由是:IO机制一个socket连接对应一个输入/输出通道,一个输入/输出通道在对应一个线程,这样有多个请求,就需要开辟多个线程,这样对CPU的负担大大的提高。关系是一对一的。而NIO不必,通道已经由一个线程建立好了,有事就说话,说了就去做,而且在一个线程中建立了多个通道,可以同时做很多事情,不会像原先那样开辟多个线程,耗费CPU资源,关系是1对多的。这我就很不明白,如果ABCDE5个客户端去连接IO服务端请求数据,那5个线程是至少的。但是同样连接NIO服务端呢?是和一个线程的5个通道建立了联系了吗?所以只有1个线程.那我想问这个5个通道的数据请求是并行执行的呢还是顺序执行的呢?如果是并行,1个线程能做到吗啊? 如果顺序执行是不是有等待阻塞的时间?就算NIO不考虑执行的结果正确与否顺序执行下去,是不是总得有5次处理时间? 这个同IO5个线程并行处理5个请求,谁的性能会高呢?
但是我很纠结,为什么呢?大致的理由是:IO机制一个socket连接对应一个输入/输出通道,一个输入/输出通道在对应一个线程,这样有多个请求,就需要开辟多个线程,这样对CPU的负担大大的提高。关系是一对一的。而NIO不必,通道已经由一个线程建立好了,有事就说话,说了就去做,而且在一个线程中建立了多个通道,可以同时做很多事情,不会像原先那样开辟多个线程,耗费CPU资源,关系是1对多的。这我就很不明白,如果ABCDE5个客户端去连接IO服务端请求数据,那5个线程是至少的。但是同样连接NIO服务端呢?是和一个线程的5个通道建立了联系了吗?所以只有1个线程.那我想问这个5个通道的数据请求是并行执行的呢还是顺序执行的呢?如果是并行,1个线程能做到吗啊? 如果顺序执行是不是有等待阻塞的时间?就算NIO不考虑执行的结果正确与否顺序执行下去,是不是总得有5次处理时间? 这个同IO5个线程并行处理5个请求,谁的性能会高呢?
...全文
相关推荐
Java NIO 中英文版 + Pro Java 7 NIO.2
`Pro Java 7 NIO.2`这本书由Anghel Leonard著,深入探讨了Java NIO.2 API,这是Java 7引入的进一步扩展,包括: 1.
nio.rar_NIO_NIO-socket_java nio_java 实例_java.nio
标签“nio nio-socket java_nio java_实例 java.nio”进一步强调了这个实例与Java NIO、NIO套接字以及具体的代码实例相关。
JAVA nio的一个简单的例子
在这个“JAVA nio的一个简单的例子”中,我们将探讨如何使用Java NIO进行简单的服务器-客户端通信,并计算字符串的哈希值。
Java NIO——Java NIO
### Java NIO——Java NIO 知识点详解#### 一、Java NIO 概述**Java NIO**(New I/O)是 Java 平台提供的新一代输入/输出处理方式,它首次出现在 Java
java NIO 写文件
在这个主题中,我们将深入探讨Java NIO如何用于写文件,特别是在处理大数据文件时如何提高性能。首先,理解Java NIO的基本概念非常重要。


高性能WEB开发

