引言 IO模型就是操作数据输入输出的方式,在Linux系统中有5大IO模型:阻塞式IO模型、非阻塞式IO模型、IO复用模型、信号驱动式IO模型、异步IO模型。 因为学习Netty必不可少的要了解IO多路复用模型,本篇是基础。 名词概念 阻塞:指向调用方,在调用结果返回之前,调用方线程会挂起,直到结果 ...
分类:
Web程序 时间:
2019-12-01 20:42:29
阅读次数:
94
[TOC] 1. IO模型 Linux下可用的IO模型有5种,分别是: 阻塞式IO 非阻塞式IO IO复用 信号驱动式IO(SIGIO) 异步IO(Posix的aio_系列函数) 其中,除了异步IO,其余都属于同步IO模型。 在这5种模型中,我们目前只关注前3种,并且把IO复用放在网络编程专题中讲, ...
分类:
系统相关 时间:
2019-09-18 23:24:59
阅读次数:
185
一、Unix可用的5种IO模型和区别:1.阻塞式IO2.非阻塞式IO3.IO复用(select和poll)4.信号驱动式IO(SIGIO)5.异步IO(POSIX的aio_系列函数)二、1.阻塞式IO模型:最流行的IO模型是阻塞式IO模型应用进程 内核(recvfro...
分类:
其他好文 时间:
2015-12-17 12:24:34
阅读次数:
127
信号驱动式I/O的本质就是:进程预先告知内核当某个描述符发生事件时,内核会向该进程发送SIGIO信号通知进程,进程可在信号处理函数中进行处理
进程可以通过fcntl打开O_ASYNC标志或ioctl打开FIOASYNC标志来通知内核,二者的区别是一些系统不支持fcntl,所以应尽量使用ioctl
对于TCP套接字产生SIGIO信号的条件:
1.监听套接字上有新连接请求完成
...
分类:
其他好文 时间:
2014-07-23 00:04:48
阅读次数:
223