ACE_Proactor

load888 2005-11-01 11:17:49
声明:分数不够可以再加!!!

求ACE_proactor的工作原理,越细越好分越多
我知道ACE_proactor在win32下是用IOCP实现的,但具体怎么用的呢,IOCP的原理呢
...全文
603 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wd_6532 2006-06-11
  • 打赏
  • 举报
回复
向系统提交一个请求A,同时提交一些参数a1,a2 。
向系统提交一个请求B,同时提交一些参数b1,b2 。


当A请求完毕的时候,系统会告诉你a1,a2.,用a1,a2这几个东西,你就能知道什么操作被完成了

当B请求完毕的时候,系统会告诉你b1,b2.,用b1,b2这几个东西,你就能知道什么操作被完成了

这就是win完成端口的原理。

sevencat 2005-12-11
  • 打赏
  • 举报
回复
??又提前啦?
看一下原码就可以了。
load888 2005-11-30
  • 打赏
  • 举报
回复
自己顶
allen_zhaozhencn 2005-11-30
  • 打赏
  • 举报
回复
建议楼主看看POSA2中关于proactor模式的介绍. 简单来说,发起异步操作后,由proactor对异步操作的结果进行多路并分派到"事件完成处理器"的挂钩方法. 主要涉及到几个类:
1,Complete Event Handler 事件完成处理类
2,Async_OP : 异步操作类
3,ACT(Asynchronous Complete Token): 异步完成标记类.
4,Proactor: 前摄器类, 从"异步完成队列"取出"完成事件",进行多路分离并分派.
5,Asynchronous Operation Executer. Os 实现
6,Asynchronous Complete Queue. Os实现

由于异步操作的调用与完成往往在时间与空间上分离,所以,这种程序架构比较难于理解. 有空多交流.
dch4890164 2005-11-27
  • 打赏
  • 举报
回复
xiangding(曾经沧海难为水,除却巫山不是云(*抵制日货*).) (
赞同
不过是英文的
一本非常好的书
ppddt008 2005-11-11
  • 打赏
  • 举报
回复
顶。
load888 2005-11-10
  • 打赏
  • 举报
回复
没人知道吗?顶!!!
abrams2004 2005-11-03
  • 打赏
  • 举报
回复
ace_proactor使用act模式,来回调ace_handler,没有保存列表
在connect和timer上,都是使用Reactor来完成,完成后投入完成端口,在回调ace_handler
其中自动建立了一个线程,完成定时的任务

事件分派线程,可以使用ACE_Task来,调用proactor的handle_events
load888 2005-11-02
  • 打赏
  • 举报
回复
IOCP和ACE_proactor我都是知道一些的,也会用只是想知道ace_proactor的工作原理,具体里面是怎么创建线程,怎么管理的?知道的就说的详细点吧
load888 2005-11-01
  • 打赏
  • 举报
回复
这里讲的主要是使用,我想研究一下他的实现原理,看了代码还是不够清楚,本人对IOCP的研究也是很浅很浅,希望了解的给以指点
快乐鹦鹉 2005-11-01
  • 打赏
  • 举报
回复
http://dev.csdn.net/article/68/68267.shtm
sevencat 2005-11-01
  • 打赏
  • 举报
回复
要是你不知道IOCP的话,你肯定很难理解这个proactor.

简单的讲就是:
发起请求->函数返回
内核处理套接字请求->完成后把消息传给完成端口的消息队列->工作线程取消息->处理请求结果


xiangding 2005-11-01
  • 打赏
  • 举报
回复
楼上讲得没错,

建议楼主看看 C++网络编程第一卷,里面有介绍
oyljerry 2005-11-01
  • 打赏
  • 举报
回复
IOCP主要就是通过一组线程池来为请求的客户服务,因而效率很高,这里的完成端口并不是指什么端口,可以理解为一种操作系统的调度控制等

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧