论坛首页 Java企业应用论坛

JAVA NIO 简介

浏览 249693 次
锁定老帖子 主题:JAVA NIO 简介
该帖已经被评为良好帖
作者 正文
   发表时间:2011-01-28  
使用Nio的目的,就是开发高性能高并发的服务端程序。用3个客户端连接去测试太儿戏了。
应该用30000个客户端连接去测,每秒1个报文。
测试客户端的开发量也不小。
0 请登录后投票
   发表时间:2011-02-02  
很好的基础知识,太好了,多谢楼主
0 请登录后投票
   发表时间:2011-02-15  
图文并茂,讲解得也非常的不错,很到位。
0 请登录后投票
   发表时间:2011-02-21  
学了点东西
0 请登录后投票
   发表时间:2011-02-22  
通俗易懂。非常感谢楼主分享这么好的文章。
0 请登录后投票
   发表时间:2011-02-24  
写的很好哇
0 请登录后投票
   发表时间:2011-03-04  
学习下NEWIO的知识。
0 请登录后投票
   发表时间:2011-03-08  
不错,最近正在补充java知识
0 请登录后投票
   发表时间:2011-03-10  
zy8643954 写道
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO,如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO。阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。

上面是引用 dennis_zane 写的一篇文章里的关于IO分类的描述。

我觉得楼主连一些基本概念都没搞清,就在这里扯淡。


同意,NIO其实是阻塞的,多路复用其实是减少了线程的上下文切换
0 请登录后投票
   发表时间:2011-03-10  
lingqi1818 写道
zy8643954 写道
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO,如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO。阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。

上面是引用 dennis_zane 写的一篇文章里的关于IO分类的描述。

我觉得楼主连一些基本概念都没搞清,就在这里扯淡。


你这个理解也是有误的,不能照本宣科。同步异步,阻塞非阻塞是可以自由组合的。


如何自由组合呢?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics