日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ACE学习:

發(fā)布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ACE学习: 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ACE官網(wǎng),下載ace及ace文檔:

The ADAPTIVE Communication Environment (ACE) ?http://www.cs.wustl.edu/~schmidt/ACE.html

?

ACE Class Categories ?

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/docs/ACE-categories.html

?

ACE-tutorial:

www.cs.wustl.edu/~schmidt/PDF/ACE-tutorial.pdf ?http://www.cs.wustl.edu/~schmidt/PDF/ACE-tutorial.pdf

?

An Architectural Overview of the ACE Framework:

login.dvi ?http://www.cs.wustl.edu/~schmidt/PDF/login.pdf

?

?

?

參考:

ACE的框架及其核心 - 螞蟻跳樓 - 博客園 ?https://www.cnblogs.com/xianqingzh/archive/2011/11/29/2267400.html

ace 反應式服務器例子 - CSDN博客 ?http://blog.csdn.net/dai_jing/article/details/22388389

關(guān)于ACE_Svc_Handler ? 一個例子 - CSDN博客 ?http://blog.csdn.net/fcryuuhou/article/details/8814102

?[0]ACE環(huán)境搭建_雪泥泓爪_新浪博客 ?http://blog.sina.com.cn/s/blog_cf4ddb250102wn3t.html

?

?

兩種高性能I/O設(shè)計模式(Reactor/Proactor)的比較 ?http://www.360doc.com/content/14/0122/20/3735408_347185935.shtml

ACE網(wǎng)絡(luò)開發(fā)中,各種Reactor實現(xiàn)的總結(jié) ?http://www.360doc.com/content/13/0825/23/8373418_309888394.shtml

ACE_Svc_Handler 通信原理 - 陳波的日志 - 網(wǎng)易博客 ?http://blog.163.com/cp7618%40yeah/blog/static/702347772011116112316677/

?

開源C/C++網(wǎng)絡(luò)庫比較 ?http://www.360doc.com/content/13/0509/11/9200790_284094456.shtml

有效使用反應堆Reactor的設(shè)計準則 - CSDN博客 ?http://blog.csdn.net/gunwithrose/article/details/1683374

ACE 的Reactor/Proactor框架下高并發(fā)、大容量吞吐介紹 - CSDN博客 ?http://blog.csdn.net/zzhongcy/article/details/41380067

ACE筆記(3)-用 ACE_Reactor 實現(xiàn)SOCKET事件處理 - CSDN博客 ?http://blog.csdn.net/AnyJack/article/details/344631

用ACE的Reactor模式實現(xiàn)網(wǎng)絡(luò)通訊的例子 - CSDN博客 ?http://blog.csdn.net/iw1210/article/details/36204429

采用C++的ACE庫實現(xiàn)的一個通用的C/S架構(gòu)通信程序(最終版) - 晴天的專欄 - CSDN博客 ?http://blog.csdn.net/rain_qingtian/article/details/22862919

?

?

ACE編程小結(jié) - CSDN博客 ?http://blog.csdn.net/mjp_mjp/article/details/4406059

ACE的SOCKET通信例子:handle_input 函數(shù)的返回值不能隨便寫! - CSDN博客 ?http://blog.csdn.net/iw1210/article/details/45168145

ACE前攝器Proactor模式 - 天方 - 博客園 ?http://www.cnblogs.com/TianFang/archive/2006/12/31/608952.html

ACE_Service_Handler類的理解和使用 - chinaclock的專欄 - CSDN博客 ?http://blog.csdn.net/chinaclock/article/details/49278653

?

?

udp:

采用C++的ACE庫實現(xiàn)的一個通用的udp通信服務器程序 - CSDN博客 ?http://blog.csdn.net/itclock/article/details/1036647

非常好的例子:

udp_reactor.rar udp_reactor.cpp ?http://read.pudn.com/downloads206/sourcecode/unix_linux/972540/udp_reactor.cpp__.htm

PSS/ProactorUDPClient.cpp at master · freeeyes/PSS · GitHub ?https://github.com/freeeyes/PSS/blob/master/purenessscopeserver/purenessscopeserver/PurenessScopeServer/UDP/ProactorUDPClient.cpp?

?

?

ACE_Proactor UDP V2.0 - Linux,音視頻,大數(shù)據(jù),人工智能,網(wǎng)絡(luò)編程,分布式系統(tǒng) - CSDN博客 ?https://blog.csdn.net/shixin_0125/article/details/78858890

完整一點的Reactor框架的udpserver - CSDN博客 ?http://blog.csdn.net/haohao_h/article/details/1377134

ACE+線程池實現(xiàn)一個簡單的服務器+多客戶端通信程序 - CSDN博客 ?http://blog.csdn.net/j_akill/article/details/39621453

基于ACE的線程池學習與實現(xiàn)(三)—— 并發(fā)編程資料 - CSDN博客 ?http://blog.csdn.net/luson_xing/article/details/8517782

利用ace的ACE_Task等類實現(xiàn)線程池 - CSDN博客 ?http://blog.csdn.net/wallwind/article/details/7304155

?

兩種IO多路復用方案:Reactor and Proactor

一般情況下,I/O 復用機制需要事件分享器(event demultiplexor [1,?3]). 事件分享器的作用,即將那些讀寫事件源分發(fā)給各讀寫事件的處理者,就像送快遞的在樓下喊: 誰的什么東西送了, 快來拿吧。開發(fā)人員在開始的時候需要在分享器那里注冊感興趣的事件,并提供相應的處理者(event handlers),或者是回調(diào)函數(shù); 事件分享器在適當?shù)臅r候會將請求的事件分發(fā)給這些handler或者回調(diào)函數(shù).

涉及到事件分享器的兩種模式稱為:Reactor and Proactor [1]. Reactor模式是基于同步I/O的,而Proactor模式是和異步I/O相關(guān)的. 在Reactor模式中,事件分離者等待某個事件或者可應用或個操作的狀態(tài)發(fā)生(比如文件描述符可讀寫,或者是socket可讀寫),事件分離者就把這個事件傳給事先注冊的事件處理函數(shù)或者回調(diào)函數(shù),由后者來做實際的讀寫操作。

而在Proactor模式中,事件處理者(或者代由事件分離者發(fā)起)直接發(fā)起一個異步讀寫操作(相當于請求),而實際的工作是由操作系統(tǒng)來完成的。發(fā)起時,需要提供的參數(shù)包括用于存放讀到數(shù)據(jù)的緩存區(qū),讀的數(shù)據(jù)大小,或者用于存放外發(fā)數(shù)據(jù)的緩存區(qū),以及這個請求完后的回調(diào)函數(shù)等信息。事件分離者得知了這個請求,它默默等待這個請求的完成,然后轉(zhuǎn)發(fā)完成事件給相應的事件處理者或者回調(diào)。舉例來說,在Windows上事件處理者投遞了一個異步IO操作(稱有overlapped的技術(shù)),事件分離者等IOCompletion事件完成[1]. 這種異步模式的典型實現(xiàn)是基于操作系統(tǒng)底層異步API的,所以我們可稱之為“系統(tǒng)級別”的或者“真正意義上”的異步,因為具體的讀寫是由操作系統(tǒng)代勞的。

舉另外個例子來更好地理解Reactor與Proactor兩種模式的區(qū)別。這里我們只關(guān)注read操作,因為write操作也是差不多的。下面是Reactor的做法:

  • 某個事件處理者宣稱它對某個socket上的讀事件很感興趣;
  • 事件分離者等著這個事件的發(fā)生;
  • 當事件發(fā)生了,事件分離器被喚醒,這負責通知先前那個事件處理者;
  • 事件處理者收到消息,于是去那個socket上讀數(shù)據(jù)了. 如果需要,它再次宣稱對這個socket上的讀事件感興趣,一直重復上面的步驟;

下面再來看看真正意義的異步模式Proactor是如何做的:

  • 事件處理者直接投遞發(fā)一個寫操作(當然,操作系統(tǒng)必須支持這個異步操作). 這個時候,事件處理者根本不關(guān)心讀事件,它只管發(fā)這么個請求,它魂牽夢縈的是這個寫操作的完成事件。這個處理者很拽,發(fā)個命令就不管具體的事情了,只等著別人(系統(tǒng))幫他搞定的時候給他回個話。
  • 事件分離者等著這個讀事件的完成(比較下與Reactor的不同);
  • 當事件分離者默默等待完成事情到來的同時,操作系統(tǒng)已經(jīng)在一邊開始干活了,它從目標讀取數(shù)據(jù),放入用戶提供的緩存區(qū)中,最后通知事件分離者,這個事情我搞完了;
  • 事件分享者通知之前的事件處理者: 你吩咐的事情搞定了;
  • 事件處理者這時會發(fā)現(xiàn)想要讀的數(shù)據(jù)已經(jīng)乖乖地放在他提供的緩存區(qū)中,想怎么處理都行了。如果有需要,事件處理者還像之前一樣發(fā)起另外一個寫操作,和上面的幾個步驟一樣。

?

轉(zhuǎn)載于:https://www.cnblogs.com/nanzhi/p/8474483.html

總結(jié)

以上是生活随笔為你收集整理的ACE学习:的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。