記一個(gè)libevent遇到的坑

網(wǎng)絡(luò)層是大多數(shù)基礎(chǔ)服務(wù)都需要的一個(gè)東西,libevent是個(gè)單線程模型(reactor模式)的網(wǎng)絡(luò)庫(kù)。
而單線程模式,就必須保證事件的回調(diào)處理是非阻塞的。
但在某些場(chǎng)景下,必須阻塞某種事件,如網(wǎng)絡(luò)限速/磁盤(pán)限速等限速場(chǎng)景。
這兩個(gè)就坑了,如果事件都由同一個(gè)線程處理,必然引起不該阻塞的事件被阻塞住。
目前想到的解決方案是增加1個(gè)(組)線程,由該線程處理緊急,非阻塞的事件。這也是較為流行的做法,1組線程處理普通/可阻塞事件,1組線程處理高優(yōu)/非阻塞事件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 何為Reactor線程模型? Reactor模式是事件驅(qū)動(dòng)的,有一個(gè)或多個(gè)并發(fā)輸入源,有一個(gè)Service Han...
    未名枯草閱讀 3,767評(píng)論 2 11
  • 隨著互聯(lián)網(wǎng)的發(fā)展,面對(duì)海量用戶高并發(fā)業(yè)務(wù),傳統(tǒng)的阻塞式的服務(wù)端架構(gòu)模式已經(jīng)無(wú)能為力,由此,本文旨在為大家提供有用的...
    caison閱讀 11,007評(píng)論 3 43
  • PPC 和 TPC 模式,它們的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,缺點(diǎn)是都無(wú)法支撐高并發(fā)的場(chǎng)景。 Reactor PPC 模式最主要...
    hedgehog1112閱讀 2,027評(píng)論 1 11
  • 2017年3月28日星期二 18點(diǎn)33分 夜又來(lái)了,毫無(wú)聲息地舒展而去,一如走過(guò)的所有的日子,寧?kù)o祥和。 放下了日...
    悅者閱讀 318評(píng)論 0 8
  • 此女 不是 世俗所認(rèn)美人 而我 評(píng)之為美女 那美 不起眼 不招搖 甚是遺落角邊 但卻是一顆珍珠 需要經(jīng)過(guò)時(shí)間的打磨...
    現(xiàn)有游女閱讀 213評(píng)論 0 0

友情鏈接更多精彩內(nèi)容