前一篇介绍了epoll的LT模式,LT模式注意epollout事件在数据全部写成功后需要取消关注, 或者更改为EPOLLIN。 而这次epoll的ET模式,要注意的是在读和写的过程中要在循环中写完或者读完所有数据, 确保不要丢掉一些数据。 因为epoll ET模式只在两种边缘更改的时候触发,对于读事 ...
分类:
其他好文 时间:
2016-04-10 06:39:41
阅读次数:
210
ginx 不同于 Apache2 的一点就是,Nginx 采用单线程,非阻塞,异步 IO 的工作模型。 Apache2 对于每一个请求,都会创建一个新进程或线程,会浪费很多内存和 CPU 时间,而 Nginx 使用操作系统提供的IO多路复用技术(epoll), 在一个线程中处理所有的请求。当一个 I ...
分类:
Web程序 时间:
2016-04-04 17:57:31
阅读次数:
232
原文链接:http://www.cnblogs.com/Anker/p/3265058.html select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select, ...
分类:
其他好文 时间:
2016-03-27 22:30:11
阅读次数:
266
epoll模型简介epoll可是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及se...
分类:
系统相关 时间:
2016-03-26 07:19:31
阅读次数:
269
SocketServer模块SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求的Socket服务端。即:每个客户端请求连接到服务器时,Socket服务端都会在服务器是创建一个“线程”或者“进程” 专门负责处理当前客户端的所有请求。Thr...
分类:
编程语言 时间:
2016-03-14 00:12:56
阅读次数:
245
我们首先需要知道select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的。
select的基本用法:http://blog.csdn....
分类:
其他好文 时间:
2016-02-14 17:04:37
阅读次数:
197
首先列一下,sellect、poll、epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续
分类:
其他好文 时间:
2016-01-29 20:58:34
阅读次数:
333
zeromq这个库主要用于进程通信,包括本地进程、网络通信,涉及到一些基础知识,主要包括管道通信,socket编程的内容,反应器模式(使用IO多路复用实现),无锁队列这几块比较重要的部分,下面的几个链接是这几块内容的学习笔记,有了这些知识,能比较好的理解这个开源库1、socket原理详解2、I/O多...
分类:
其他好文 时间:
2016-01-12 01:04:29
阅读次数:
228
首先什么是I/O:I/O(input/output),即输入/输出端口。每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息I/O分为磁盘io和网络io,这里说的是网络ioIO多路复用:I/O多路复用指:通过一种机制,可以监视多个描述符(socket),一旦某个描述符就绪(一般是读就绪或者...
分类:
编程语言 时间:
2016-01-08 23:41:30
阅读次数:
497
说起IO操作我们最先想到的就是读写文件。其实python中对有三种IO操作,打开文件,使用socket进行网络连接和系统的标准输入输出sys.stdin和sys.stdout。我们先来看一段socket服务端的代码:importsocket
ip_port=(‘127.0.0.1‘,9999)
sk=socket.socket()
sk.bind(ip_port)
sk.lis..
分类:
编程语言 时间:
2016-01-08 15:57:27
阅读次数:
320