标签:模型 线程 log 技术分享 资料 函数 读写 本质 顺序
I/O 多路复用是为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程或线程不阻塞于某个特定的 I/O 系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),poll(),epoll()本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。
与多线程(TPC(Thread Per Connection)模型)和多进程(典型的Apache模型(Process Per Connection,简称PPC))相比,I/O 多路复用的最大优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。
I/O多路复用
参考资料epool:http://www.cnblogs.com/Anker/archive/2013/08/17/3263780.html
参考资料select:http://www.cnblogs.com/Anker/p/3258674.html
标签:模型 线程 log 技术分享 资料 函数 读写 本质 顺序
原文地址:http://www.cnblogs.com/myyan/p/7620200.html