首先,我們先縱覽一下eventloopgroup 的類結構圖,如下圖所示:
在前面的章節中我們已經簡單地介紹了一下nioeventloopgroup 初始化的基本過程,這裡我們再回顧一下時序圖:
基本步驟如下:
1、eventloopgroup(其實是multithreadeventexecutorgroup)內部維護乙個類為eventexecutor children 陣列,其大小是nthreads,這樣就初始化了乙個執行緒池。
2、如果我們在例項化nioeventloopgroup 時,如果指定執行緒池大小,則nthreads 就是指定的值,否則是cpu核數* 2。
3、在multithreadeventexecutorgroup 中會呼叫newchild()抽象方法來初始化children 陣列.
4、抽象方法newchild()實際是在nioeventloopgroup 中實現的,由它返回乙個nioeventloop 例項。
5、初始化nioeventloop 主要屬性:
provider:在nioeventloopgroup 構造器中通過selectorprovider 的provider()方法獲取selectorprovider。
selector:在nioeventloop 構造器中呼叫selector = provider.openselector()方法獲取selector 物件。
container of 的的的原理
另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...
存在的就是合理的,發生的即是必然的。
筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...
Apache的rewrite的重寫相關的引數
apache mod rewrite規則重寫的標誌一覽 使用mod rewrite時常用的伺服器變數 rewriterule規則表示式的說明 匹配任何單字元 chars 匹配字串 chars chars 不匹配字串 chars text1 text2 可選擇的字串 text1或text2 匹配0到1...