actor、reactor与proactor模型:高性能服务器的几种模型概念(转)
actor模型:
实体之通过消息通讯,各自处理自己的数据,能够实现这并行。
说白了,有点像rpc。
skynet是actor模型。
reactor模型:
1 向事件分发器注册事件回调
2 事件发生
4 事件分发器调用之前注册的函数
4 在回调函数中读取数据,对数据进行后续处理
libevent是reactor模型。
proactor模型:
1 向事件分发器注册事件回调
2 事件发生
3 操作系统读取数据,并放入应用缓冲区,然后通知事件分发器
4 事件分发器调用之前注册的函数
5 在回调函数中对数据进行后续处理
ASIO是preactor模型。
reactor和proactor的主要区别是,前者应用在回调函数中读取数据,然后进行后续的数据处理;而后者数据读取有操作系统完成,回调函数制作数据处理。
actor、reactor与proactor模型:高性能服务器的几种模型概念(转)的更多相关文章
- Linux 高性能服务器编程——高性能服务器程序框架
		问题聚焦: 核心章节. 服务器一般分为如下三个主要模块:I/O处理单元(四种I/O模型,两种高效事件处理模块),逻辑单元(两种高效并发模式,有效状态机)和存储单元(不讨论). 服务器模 ... 
- Linux高性能服务器编程:高性能服务器程序框架
		服务器有三个主要模块: (1)I/O处理单元 (2)逻辑单元 (3)存储单元 1.服务器模型 C/S模型 逻辑:服务器启动后,首先创建一个或多个监听socket,并调用bind函数将其绑定到服务器感兴 ... 
- I/O模型系列之四:两种高性能IO设计模式 Reactor 和 Proactor
		不同的操作系统实现的io策略可能不一样,即使是同一个操作系统也可能存在多重io策略,常见如linux上的select,poll,epoll,面对这么多不同类型的io接口,这里需要一层抽象api来完成, ... 
- I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor
		目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ... 
- 【转载】高性能I/O设计模式Reactor和Proactor
		转载自:http://blog.csdn.net/roger_77/article/details/1555170 昨天购买了<程序员>杂志 2007.4期,第一时间去翻阅了一遍,其中有一 ... 
- Reactor和Proactor模型
		背景 前面介绍了I/O多路复用模型,那有了I/O复用,有了epoll已经可以使服务器并发几十万连接的同时,还能维持比较高的TPS,难道还不够吗?比如现在在使用epoll的时候一般都是起个任务,不断的去 ... 
- 高性能IO设计的Reactor和Proactor模式(转)
		在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作. 在比较这两个模式之前,我们首先的搞明白 ... 
- 两种高性能 I/O 设计模式 Reactor 和 Proactor
		两种高性能 I/O 设计模式 Reactor 和 Proactor Reactor 和 Proactor 是基于事件驱动,在网络编程中经常用到两种设计模式. 曾经在一个项目中用到了网络库 libeve ... 
- I/O模型之四:Java 浅析I/O模型(BIO、NIO、AIO、Reactor、Proactor)
		目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ... 
随机推荐
- FTP自动上传
			注:该脚本上传的压缩文件,通过文件资源管理器拿下来后会提示压缩文件损坏.使用 ftp -s:d:\audit_log\ftp_upload.txt 方法可行(http://www.cnblogs.co ... 
- Python初学者第二十一天 函数(4)-内置函数
			21day 内置函数: 1.abs()绝对值函数 2.dict()创建一个字典 3.help()获取帮助信息 4.min()从一个列表中取出最小的数 5.max()从一个列表中取出最大值 6.bool ... 
- Linux基础和常用命令
			经常使用的命令: #查看端口被占用情况 netstat -tunlp|grep #查看java进程 ps -ef|grep java #压缩前端工程 rar a -ep1 ./update/win32 ... 
- TCP协议那些事
			tcp三次握手 tcp四次挥手 tcp十种状态 tcp的2MSL问题 说明 2MSL即两倍的MSL,TCP的TIME_WAI ... 
- SharePoint2007深入浅出——使用jQuery UI
			jQuery1.6.4.js + jQuery UI 1.8.16.js 只有这个版本在IE8下的兼容性视图+Quirks(文本模式),dialog可以正常显示. 
- SuperSocket.ClientEngine介绍
			项目地址:https://github.com/kerryjiang/SuperSocket.ClientEngine 其中需要引入的SuperSocket.ProtoBase项目:SuperSock ... 
- TCP/UDP调试器 SocketToolV4.1
			TCP/UDP Socket调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案.SocketTool V ... 
- PDF文件如何转成markdown格式
			百度上根据pdf转makrdown为关键字进行搜索,结果大多数是反过来的转换,即markdown文本转PDF格式. 但是PDF转markdown的解决方案很少. 正好我工作上有这个需求,所以自己实现了 ... 
- php & laravel 相关收集
			http://www.oschina.net/news/49207/best-php-debugging-tools 调试相关工具 https://github.com/barryvdh/larave ... 
- linux环境下 C++性能测试工具 gprof + kprof + gprof2dot
			1.gprof 很有名了,google下很多教程 g++ -pg -g -o test test.cc ./test //会生成gmon.out gprof ./test > prof.l ... 
