锁定老帖子 主题:JAVA NIO 简介
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-28
使用Nio的目的,就是开发高性能高并发的服务端程序。用3个客户端连接去测试太儿戏了。
应该用30000个客户端连接去测,每秒1个报文。 测试客户端的开发量也不小。 |
|
返回顶楼 | |
发表时间:2011-02-02
很好的基础知识,太好了,多谢楼主
|
|
返回顶楼 | |
发表时间:2011-02-15
图文并茂,讲解得也非常的不错,很到位。
|
|
返回顶楼 | |
发表时间:2011-02-21
学了点东西
|
|
返回顶楼 | |
发表时间:2011-02-22
通俗易懂。非常感谢楼主分享这么好的文章。
|
|
返回顶楼 | |
发表时间:2011-02-24
写的很好哇
|
|
返回顶楼 | |
发表时间:2011-03-04
学习下NEWIO的知识。
|
|
返回顶楼 | |
发表时间:2011-03-08
不错,最近正在补充java知识
|
|
返回顶楼 | |
发表时间: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其实是阻塞的,多路复用其实是减少了线程的上下文切换 |
|
返回顶楼 | |
发表时间: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分类的描述。 我觉得楼主连一些基本概念都没搞清,就在这里扯淡。 你这个理解也是有误的,不能照本宣科。同步异步,阻塞非阻塞是可以自由组合的。 如何自由组合呢? |
|
返回顶楼 | |