国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

1.12.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之LoopThreadPool模塊的設(shè)計(jì)

這篇具有很好參考價值的文章主要介紹了1.12.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之LoopThreadPool模塊的設(shè)計(jì)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、LoopThreadPool模塊

1.線程數(shù)量可配置(0或多個)
2. 對所有的線程進(jìn)行管理,其實(shí)也就是管理0個或多個LoopThread對象!
3. 提供線程分配的功能!

二、實(shí)現(xiàn)思想

(一)功能

針對LoopThread設(shè)計(jì)一個線程池,便于管理。

(二)意義

對所有的LoopThread進(jìn)行分配和管理!

(三)功能設(shè)計(jì)

1.線程數(shù)量可配置(0或多個)
注意事項(xiàng):在服務(wù)器中,主從Reactor模型是 主線程只負(fù)責(zé)新連接獲取,叢書線程負(fù)責(zé)新連接的事件監(jiān)控以及處理!因此當(dāng)前的線程池,有可能從屬線程會數(shù)量為0,也就是實(shí)現(xiàn)單 Reactor服務(wù)器,一個線程及負(fù)責(zé)獲取連接以及連接的處理!
2. 對所有的線程進(jìn)行管理,其實(shí)也就是管理0個或多個LoopThread對象!
3. 提供線程分配的功能!
當(dāng)主線程獲取了一個鏈接,需要將新的線程掛到從屬線程上進(jìn)行事件監(jiān)控以及管理!
假設(shè)0個從屬線程,則直接分配給主線程的EventLoop,進(jìn)行處理!
假設(shè)有多個叢書線程,則采用RR輪轉(zhuǎn)?。▽?yīng)線程的EventLoop獲取到,設(shè)置給對應(yīng)的Connection)文章來源地址http://www.zghlxwxcb.cn/news/detail-723802.html

三、代碼

class LoopThreadPool {
    private:
        int _thread_count;
        int _next_idx;
        EventLoop *_baseloop;
        std::vector<LoopThread*> _threads;
        std::vector<EventLoop *> _loops;
    public:
        LoopThreadPool(EventLoop *baseloop):_thread_count(0), _next_idx(0), _baseloop(baseloop) {}
        void SetThreadCount(int count) { _thread_count = count; }
        void Create() {
            if (_thread_count > 0) {
                _threads.resize(_thread_count);
                _loops.resize(_thread_count);
                for (int i = 0; i < _thread_count; i++) {
                    _threads[i] = new LoopThread();
                    _loops[i] = _threads[i]->GetLoop();
                }
            }
            return ;
        }
        EventLoop *NextLoop() {
            if (_thread_count == 0) {
                return _baseloop;
            }
            _next_idx = (_next_idx + 1) % _thread_count;
            return _loops[_next_idx];
        }
};

到了這里,關(guān)于1.12.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之LoopThreadPool模塊的設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 1.5.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之socket模塊的設(shè)計(jì)

    1.5.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之socket模塊的設(shè)計(jì)

    項(xiàng)目完整版在: Socket模塊是對套接字操作封裝的一個模塊,主要實(shí)現(xiàn)的socket的各項(xiàng)操作。 對socket套接字的操作進(jìn)行封裝。 對socket套接字的操作進(jìn)行封裝。 創(chuàng)建套接字 綁定地址信息 開始監(jiān)聽 向服務(wù)器發(fā)起連接 獲取新連接 接受數(shù)據(jù) 發(fā)送數(shù)據(jù) 關(guān)閉套接字 創(chuàng)建一個監(jiān)聽鏈接

    2024年02月07日
    瀏覽(22)
  • 1.9.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之Connection模塊的設(shè)計(jì)

    1.9.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之Connection模塊的設(shè)計(jì)

    項(xiàng)目完整在: Connection模塊,一個連接有任何的事件怎么處理都是有這個模塊來進(jìn)行處理的,因?yàn)榻M件的設(shè)計(jì)也不知道使用者要如何處理事件,因此只能是提供一些事件回調(diào)函數(shù)由使用者設(shè)置。 發(fā)送數(shù)據(jù) —— 給用戶提供的發(fā)生數(shù)據(jù)的接口,并不是真的發(fā)送接口,而只是把數(shù)

    2024年02月07日
    瀏覽(25)
  • 1.16.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之HttpContext以及HttpServer模塊的設(shè)計(jì)

    1.16.C++項(xiàng)目:仿muduo庫實(shí)現(xiàn)并發(fā)服務(wù)器之HttpContext以及HttpServer模塊的設(shè)計(jì)

    添加請求—— 處理函數(shù)映射信息(GET/POST/PUT/DELETE) 設(shè)置靜態(tài)資源根目錄 設(shè)置是否啟動超時連接關(guān)閉 設(shè)置線程池中線程數(shù)量 啟動服務(wù)器 OnConnected - 用于給TcpServer設(shè)置協(xié)議上下文 OnMessage - 用于進(jìn)行緩沖區(qū)數(shù)據(jù)解析處理 獲取上下文,進(jìn)行緩沖區(qū)數(shù)據(jù)對象 請求的路由查 找 靜態(tài)資

    2024年02月07日
    瀏覽(35)
  • 仿muduo庫實(shí)現(xiàn)one thread one loop式并發(fā)服務(wù)器

    仿muduo庫實(shí)現(xiàn)one thread one loop式并發(fā)服務(wù)器

    ? 文章目錄 一、項(xiàng)目簡介 二、項(xiàng)目整體認(rèn)識 2、1?HTTP服務(wù)器 2、2 Reactor模型 三、預(yù)備知識 3、1 C++11 中的 bind 3、2?簡單的秒級定時任務(wù)實(shí)現(xiàn) 3、3?正則庫的簡單使用 3、4?通用類型any類型的實(shí)現(xiàn) 四、服務(wù)器功能模塊劃分與實(shí)現(xiàn) 4、1 Buffer模塊 4、2 Socket模塊 4、3 Channel模塊 4、

    2024年04月09日
    瀏覽(22)
  • 基于muduo網(wǎng)絡(luò)庫實(shí)現(xiàn)的集群聊天服務(wù)器

    基于muduo網(wǎng)絡(luò)庫實(shí)現(xiàn)的集群聊天服務(wù)器

    !??!項(xiàng)目是照著騰訊課堂施磊老師的視頻學(xué)習(xí),僅供個人學(xué)習(xí)記錄使用?。?! !??!項(xiàng)目是照著騰訊課堂施磊老師的視頻學(xué)習(xí),僅供個人學(xué)習(xí)記錄使用?。?! !?。№?xiàng)目是照著騰訊課堂施磊老師的視頻學(xué)習(xí),僅供個人學(xué)習(xí)記錄使用?。?! 使用muduo網(wǎng)絡(luò)庫搭建網(wǎng)絡(luò)核心模塊

    2024年04月26日
    瀏覽(19)
  • 【實(shí)戰(zhàn)項(xiàng)目】c++實(shí)現(xiàn)基于reactor的高并發(fā)服務(wù)器

    【實(shí)戰(zhàn)項(xiàng)目】c++實(shí)現(xiàn)基于reactor的高并發(fā)服務(wù)器

    基于Reactor的高并發(fā)服務(wù)器,分為反應(yīng)堆模型,多線程,I/O模型,服務(wù)器,Http請求和響應(yīng)五部分 ?全局 Channel 描述了文件描述符以及讀寫事件,以及對應(yīng)的讀寫銷毀回調(diào)函數(shù),對應(yīng)存儲arg讀寫回調(diào)對應(yīng)的參數(shù) ?Channel 異或 |:相同為0,異為1 按位與:只有11為1,其它組合全部

    2024年02月12日
    瀏覽(32)
  • C++項(xiàng)目——集群聊天服務(wù)器項(xiàng)目(一)項(xiàng)目介紹、環(huán)境搭建、Boost庫安裝、Muduo庫安裝、Linux與vscode配置

    C++項(xiàng)目——集群聊天服務(wù)器項(xiàng)目(一)項(xiàng)目介紹、環(huán)境搭建、Boost庫安裝、Muduo庫安裝、Linux與vscode配置

    今天開始想更新一個C++項(xiàng)目,實(shí)現(xiàn)一個 支持跨服務(wù)器通信、支持負(fù)載均衡的集群聊天服務(wù)器項(xiàng)目 。項(xiàng)目會應(yīng)用muduo網(wǎng)絡(luò)庫、CMake編譯、MySQL數(shù)據(jù)庫、JSon序列化與反序列化、Redis消息訂閱模式以及Nginx負(fù)載均衡功能。 有興趣的寶可以跟我一起實(shí)操起來,鞏固自己的C++學(xué)習(xí)吧~ 本項(xiàng)

    2024年04月14日
    瀏覽(91)
  • C++項(xiàng)目:仿mudou庫one thread one loop式并發(fā)服務(wù)器實(shí)現(xiàn)

    C++項(xiàng)目:仿mudou庫one thread one loop式并發(fā)服務(wù)器實(shí)現(xiàn)

    目錄 1.實(shí)現(xiàn)目標(biāo) 2.HTTP服務(wù)器 3.Reactor模型 3.1分類 4.功能模塊劃分: 4.1SERVER模塊: 4.2HTTP協(xié)議模塊: 5.簡單的秒級定時任務(wù)實(shí)現(xiàn) 5.1Linux提供給我們的定時器 5.2時間輪思想: 6.正則庫的簡單使用 7.通用類型any類型的實(shí)現(xiàn) 8.日志宏的實(shí)現(xiàn) 9.緩沖區(qū)buffer類的實(shí)現(xiàn) 10.套接字Socket類實(shí)現(xiàn) 11.

    2024年02月08日
    瀏覽(21)
  • linux并發(fā)服務(wù)器 —— 項(xiàng)目實(shí)戰(zhàn)(九)

    linux并發(fā)服務(wù)器 —— 項(xiàng)目實(shí)戰(zhàn)(九)

    數(shù)據(jù)就緒 - 根據(jù)系統(tǒng)IO操作的就緒狀態(tài) 阻塞 - 調(diào)用IO方法的線程進(jìn)入阻塞狀態(tài)(掛起) 非阻塞 - 不會改變線程的狀態(tài),通過返回值判斷 數(shù)據(jù)讀寫 - 根據(jù)應(yīng)用程序和內(nèi)核的交互方式 同步 - 數(shù)據(jù)的讀寫需要應(yīng)用層去讀寫 異步 - 操作系統(tǒng)提供相應(yīng)服務(wù) 阻塞/非阻塞都是同步IO,只用

    2024年02月09日
    瀏覽(24)
  • 【項(xiàng)目實(shí)戰(zhàn)】基于高并發(fā)服務(wù)器的搜索引擎

    【項(xiàng)目實(shí)戰(zhàn)】基于高并發(fā)服務(wù)器的搜索引擎

    作者:愛寫代碼的剛子 時間:2024.4.24 前言:基于高并發(fā)服務(wù)器的搜索引擎,引用了第三方庫cpp-httplib,cppjieba,項(xiàng)目的要點(diǎn)在代碼注釋中了 index.html index.hpp log.hpp parser.cc(用于對網(wǎng)頁的html文件切分且存儲索引關(guān)系) searcher.hpp util.hpp http_server.cc(用于啟動服務(wù)器和搜索引擎)

    2024年04月28日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包