摘要: 上文我们介绍了NIO和BIO的区别,NIO相对于BIO是一次很大的进步。但我们平时开发中并不会使用NIO。这是因为NIO在开发中存在以下问题 所以开发出一个健壮的NIO程序并不容易,真正使用中,我们更推荐使用Netty,Mina这些NIO框架。相比较而言,Netty有以下优点 下面我们先看下,net 阅读全文
posted @ 2018-09-26 22:17 XuMinzhe 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 上文我们描述了五中IO类型。第一种同步阻塞模型我们我们称之为BIO(Blocking IO), 第三种IO复用模型我们称之为NIO(Nonblocking IO)。 上图我们可以很容易的发现 BIO会为每个socket请求创建一个线程,而NIO可以通过一个线程处理多个请求。当然,我们可以为BIO构建 阅读全文
posted @ 2018-09-26 20:13 XuMinzhe 阅读(315) 评论(0) 推荐(0) 编辑
摘要: Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符)。而对一个Socket的读写也会有相应的描述符,称为Socketfd(Socket描述符),描述符就是一个数字,它指向内核中的一个结构体(结构体 阅读全文
posted @ 2018-09-26 01:32 XuMinzhe 阅读(701) 评论(0) 推荐(0) 编辑