IO
Java部落格
为了部落!!!
展开
-
BIO、NIO、多路复用(select、poll、epoll)
一、BIO 二、NIO 由NIO的调用图可知,轮询发生在用户空间,联想一下工作中的开发场景:业务系统A需要调用业务系统B的基础服务来查询单个用户的信息;随着业务的发展,A的逻辑变复杂了,需要查100个用户的信息。显然,A希望B提供一个批量查询的接口,用集合作为入参,一次性把数据传递过去就省去了频繁的系统间调用。因此多路复用也是基本按照这个思路进行优化的——将轮询操作放到内核空间! 三、多路复用 多路复用在Linux内核代码迭代过程中依次支持了三种调用,即select、poll、epoll三种多路原创 2020-12-30 16:45:11 · 247 阅读 · 0 评论 -
I/O多路复用
Linux 5种网络I/O模型: 阻塞I/O、非阻塞I/O、I/O多路复用、信号驱动I/O、异步I/O I/O多路复用: 多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且只依次...原创 2019-02-18 11:45:19 · 116 阅读 · 0 评论