一、阻塞与非阻塞
阻塞与非阻塞是设备访问的两种方式。在写阻塞与非阻塞的驱动程序时,经常用到等待队列。
阻塞调用是指调用结果返回之前,当前线程会被挂起,函数只有在得到结果之后才会返回。
非阻塞指不能立刻得到结果之前,该函数不会阻塞当前进程,而会立刻返回。
函数是否处于阻塞模式和驱动对应函数中的实现机制是直接相关的,但并不是一一对应的,例如我们在应用层设置为阻塞模式,如果驱动中没有...
分类:
系统相关 时间:
2016-07-06 15:04:21
阅读次数:
404
五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O 五种I/O 模式:【1】 阻塞 I/O (Linux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O)【2】 非阻塞 I/O (可以通过 ...
分类:
其他好文 时间:
2016-07-04 06:30:45
阅读次数:
188
Unix/Linux上的五种IO模型(UNP6.2) IO多路复用一般不能和blocking IO用在一起,因为blocking IO中read() write() accept() connect()都有可能阻塞当前线程,这样线程就没办法处理其他socket上的IO事件了 non-blocking ...
分类:
其他好文 时间:
2016-07-02 17:25:42
阅读次数:
189
本章内容: Socket IO多路复用(select) SocketServer 模块(ThreadingTCPServer源码剖析) socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 功能: sk = sock ...
分类:
编程语言 时间:
2016-06-21 22:32:14
阅读次数:
296
转自:http://www.cnblogs.com/cbscan/articles/2107494.html 两种IO多路复用方案:Reactor and Proactor 一般情况下,I/O 复用机制需要事件分享器(event demultiplexor [1, 3]). 事件分享器的作用,即将那 ...
分类:
其他好文 时间:
2016-06-19 13:01:05
阅读次数:
116
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就..
分类:
其他好文 时间:
2016-06-06 01:28:36
阅读次数:
203
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也..
分类:
其他好文 时间:
2016-05-31 06:39:42
阅读次数:
329
poll提供的功能与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,但poll比select的优点是,不限制所能监视的描述符的数目,但随着所监视描述符的数目的增加,性能也会下降函数原型:#include<poll.h>intpoll(structpollfd*fds,nfds_tnfds,inttim..
分类:
其他好文 时间:
2016-05-28 06:42:57
阅读次数:
130
转载自: Anker select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己 ...
分类:
其他好文 时间:
2016-05-13 13:31:39
阅读次数:
200