Linux Epoll介绍和程序实例1. Epoll是何方神圣?Epoll但是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select类似,事实上都I/O多路复用技术而已,并没有什么神奇的。事实上在Linux下设计并发网络程序,向来不缺少方法,...
分类:
系统相关 时间:
2014-08-12 00:01:23
阅读次数:
364
以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数是.....
分类:
其他好文 时间:
2014-08-07 22:43:15
阅读次数:
460
SPDY(读作“SPeeDY”)是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级以及HTTP报头压缩。谷歌表示,引入SPDY协议后,在...
分类:
其他好文 时间:
2014-08-05 00:35:58
阅读次数:
259
基本并发模型
1、多进程
2、I/O多路复用
3、多线程
分类:
其他好文 时间:
2014-07-29 11:49:26
阅读次数:
298
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *time...
分类:
其他好文 时间:
2014-07-28 15:00:53
阅读次数:
241
前言 I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是本质上却没有什么区别。本文将重点探讨将放在EPOLL的实现与使用详解.....
分类:
系统相关 时间:
2014-07-22 22:46:13
阅读次数:
519
1. Reactor和Preactor模式
Reactor用于同步IO,Preactor用于异步IOReactor通常会和Connector模式一起使用,进一步解耦连接的建立与连接以后的逻辑
2. Reactor模式中的主要角色
2.1. Reactor
Reactor是IO事件的派发者。
2.2. Acceptor
Acceptor接受client连接,建立对...
分类:
其他好文 时间:
2014-07-22 00:30:34
阅读次数:
391
SPDY(读作“SPeeDY”)是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级以及HTTP报头压缩。谷歌表示,引入SPDY协议后,在...
分类:
其他好文 时间:
2014-07-22 00:26:33
阅读次数:
450
这里打算零碎记录下多线程相关内容1. AFNetworking中使用一个子线程处理所有的网络请求,原因很简单,一个runloop就是基于kqueue,多路复用2. NSOperation基于GCD,可以实现线程数控制、依赖管理、取消;线程数控制倒不是问题,依赖管理也可以在GCD上实现,取消功能我倒不...
分类:
移动开发 时间:
2014-07-21 08:18:04
阅读次数:
266