• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Linux/UNIX、C++、Boost、ACE、Shell

            Linux C++訓練營

            Boost高性能網絡編程

            一、課程目標

            本次課程圍繞高性能網絡編程這一主題,從眾多的Boost類庫中挑選出Boost.Asio、Boost.Thread以及其它配套的實用庫,作為主要學習的內容,通過本次課程的學習,學員將具備以下能力:

            • 掌握智能指針、高階函數對象、對象序列化/反序列化等類庫的使用;
            • 理解現代操作系統線程模型、并發以及同步機制;
            • 熟練使用Boost.Thread線程管理和同步機制接口開發并發應用;
            • 深刻理解現代操作系統中事件多路分離和分派機制如select、epoll等、了解異步I/O以及完成事件的分派;
            • 熟練使用Boost.Asio構建穩定、高效和靈活的網絡應用。

            四、課程大綱

            本次課程由以下幾個部分構成:

            1、Boost.Serialization - 序列化

            • 基本類型和自定義類型的序列化;
            • 數組、指針和智能指針的序列化;
            • STL容器、std::string的序列化;
            • 識別類的版本;
            • XML格式的archive;
            • 二進制格式的archive。

            2、Boost.Smart_Ptr - 智能指針

            • 回顧std::auto_ptr<>;
            • 無Copyable 語義的scoped_ptr<>;
            • shared_ptr<>;
            • weak_ptr<>;
            • enable_shared_from_this<>;

            3、Boost.Bind and Boost.Function- 函數對象相關

            • 什么是函數對象?
            • 回顧std::bind1st()、std::bind2nd()、std::mem_fun()、std::ptr_fun()等適配器;
            • Boost bind();
            • Boost Function;
            • Boost ref()。

            4、Boost.Signals2 - 實現回調機制

            • Boost Signal2:線程安全的Signal-Slot機制 (Publishers → Signals/Subscribers → Slots),即Observer模式的實現;
            • 簡單的回調;
            • 多個Slot回調;
            • 管理Connections;
            • 一些示例。

            5、一些實用類庫

            • Boost.Property_Tree;
            • Boost.Format;

            6、Boost.Thread - 多線程

            • 線程與進程之區別;
            • 用戶線程與內核線程;
            • 不同操作系統中的線程模型;
            • 線程管理:線程創建、中斷、分離/連接等;
            • 同步機制:Mutex、Lock、Condition_variable、TSS等。

            7、Boost.Asio - 網絡編程

            Boost.Asio庫,通過對各類操作系統原生的socket API以及事件多路分離、異步I/O API的封裝,構成了一個性能優秀、可移植性高、便于編程的網絡編程框架,使復雜的網絡編程任務變得簡單、安全、并且高效。

            • Asio相關概念:同步I/O和異步I/O、Proactor模式、Asio和線程;
            • Linux 下 I/O事件多路分離機制:select、epoll;
            • TCP同步I/O Server/Client編程示例;
            • UDP同步I/O Server/Client編程示例;
            • TCP異步I/O Server/Client編程示例;
            • UDP異步I/O Server/Client編程示例;
            • Timer - 定時器;
            • Asio核心接口介紹。

            8、高性能網絡編程討論

            • 考究高性能網絡編程中應該遵循的原則,討論并發、同步、事件多路分離等機制的適用場合。
            • 網絡應用的瓶頸在何處?
            • 事件多路分離 vs 一連接一線程 (Event demultiplexing vs One thread per connection);
            • 同步I/O vs 異步I/O (Synchronous I/O vs Asynchronous I/O);
            • 如何適當地使用多線程?
            • 什么時候需要多個 事件多路分離線程?

            9、應用層協議定義與實現

            • 為什么要自定義應用層協議?
            • 定義應用層協議 (以XMMEP協議為例);
            • 用C++實現自定義的協議 (以XMMEP協議為例)。

            注:XMMEP為X-Messenger Message Exchanging Protocol。

            六、課程資源

                  可獲取的課程資源見:教學資源

            posted on 2012-01-27 09:28 athxy 閱讀(786) 評論(1)  編輯 收藏 引用

            Feedback

            # re: Boost高性能網絡編程 2012-01-27 09:29 athxy

            Linux/UNIX C++培訓
            專注Linux/UNIX服務器端的軟件開發(后臺開發)培訓,
            課程涉及服務器端軟件開發的方方面面:Linux/UNIX、C++、Boost、ACE、Shell編程、Oracle/MySQL、數據庫建模、UML建模、項目實踐、開發模式等等  回復  更多評論   


            国产综合成人久久大片91| 久久婷婷五月综合97色| 国产亚州精品女人久久久久久| 久久99免费视频| 久久综合伊人77777| 狠狠色噜噜色狠狠狠综合久久| 潮喷大喷水系列无码久久精品 | AAA级久久久精品无码区| 精品熟女少妇aⅴ免费久久| 狠狠色婷婷久久一区二区| 91精品国产高清91久久久久久| 精品久久久久久久久久久久久久久 | 香蕉久久AⅤ一区二区三区| 人妻精品久久无码专区精东影业| 色综合久久天天综合| 久久精品免费一区二区| 国产午夜电影久久| 99精品国产在热久久无毒不卡| 色天使久久综合网天天| 亚洲精品高清久久| 久久久噜噜噜www成人网| 一本大道久久东京热无码AV| 91精品无码久久久久久五月天 | 久久国产精品99久久久久久老狼 | 9191精品国产免费久久| 天天综合久久一二三区| 91麻精品国产91久久久久| 99久久久精品免费观看国产| 99精品国产免费久久久久久下载 | 亚洲∧v久久久无码精品| 久久最新免费视频| 久久天天躁狠狠躁夜夜不卡| 国产精品久久久久久久午夜片| 久久精品国产亚洲av麻豆色欲| 亚洲精品无码久久久久sm| 久久久久亚洲av成人网人人软件| 亚洲伊人久久综合中文成人网| 久久亚洲sm情趣捆绑调教| 欧美亚洲国产精品久久高清| 久久久久久曰本AV免费免费| 久久www免费人成看片|