青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0

一 semaphore機制

古老的信號量機制,80年代初,從System V體系中產生,稱為System v信號量。90年代,Posix標準確立,其中的信號量稱為posix信號量。當前linux系統支持這兩種信號量(man semget/ man sem_post)。System v信號量為有名信號量,可以用于多進程間的互斥同步。posix信號量分有名和無名兩種,當前linux只支持無名信號量,可以用于多線程之間的互斥同步,通過共享內存也可以用于多進程之間。
信號量屬于內核級別的互斥同步機制,相關調用總是陷入內核態,屬于功能強大/重量級的實現。

   二 spinlock機制
多核SMP的cpu流行后,出現的新的互斥同步機制。spinlock實現原理為用戶態循環嘗試機制,不陷入內核態進行線程切換。spinlock的原子性通過CAS(CompareAndSwap)原語實現。使用spinlock時,應該保證保護區間內代碼執行迅速,不應該存在io等耗時操作。
多核系統下,針對可快速執行的保護區使用用戶態循環嘗試機制,可以保證執行線程不需要引起上下文切換即可快速執行通過,這種機制也被形象的稱為lock-free機制。我們可以這樣理解:lock-free機制即為循環嘗試,spinlock是它的具體實現。

spinlock的實現有多種,常見的有pthread_spin_lock,該spinlock無限制循環嘗試,在多核環境下并且保護區代碼執行迅速時,執行線程很快可以拿到鎖,但當單核環境或者保護區代碼執行慢速時,則會耗盡該線程擁有的時間片之后交出cpu,造成cpu的浪費。另一常見的spinlock是boost智能指針中的實現,進行3次無間斷的循環CAS原語判斷,之后若再次失敗,則調用sleep族函數,交出cpu執行權,待再次分配到cpu時間片后繼續進行CAS原語判斷操作。


   三 mutex機制
mutex屬于os之上的再次封裝實現。在linux2.6內核上,線程庫為nptl,其中的mutex基于futex機制實現,它的實現原理,簡單說就是spinlock+semaphore,首先使用spinlock嘗試,可以拿到鎖則直接向下執行,拿不到鎖則執行semaphore機制,陷入內核態,進入線程切換。
在多核環境下,當mutex保護的代碼段內無io操作,執行很快時,大多數情況下通過spinlock都可拿到鎖,不需要陷入內核態。


  四 為智能指針正名(boost)
智能指針的引用計數僅僅為一個整型變量的增減,屬于執行迅速的典型,使用spinlock機制保護,最新boost版本中僅僅是spinlock,而非mutex。從性能角度說,使用智能指針的現象是cpu略微上升(循環嘗試導致),而并發量/單個請求的響應時間并無明顯影響。proactor機制實現的網絡層,智能指針基本無法繞過,刻意避免帶來的只能是丑陋的代碼和維護量的上升。但線程之間盡量避免傳遞指針(智能指針),通過傳遞id等代替。
智能指針有它使用的場景,不能濫用,也不能刻意避免。

from:

http://www.shnenglu.com/CppExplore/archive/2010/08/28/125067.html

posted on 2010-08-30 12:10 chatler 閱讀(399) 評論(0)  編輯 收藏 引用 所屬分類: Linux_Coding
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            尤妮丝一区二区裸体视频| 亚洲区一区二区三区| 午夜视频在线观看一区| 9色精品在线| 国产精品卡一卡二卡三| 亚洲欧美资源在线| 亚洲欧美在线x视频| 黄色成人免费网站| 亚洲电影在线看| 欧美精品一区二区三区蜜臀| 一区二区动漫| 欧美一区二区三区成人| 在线播放不卡| 亚洲伦理网站| 国产免费成人在线视频| 老鸭窝亚洲一区二区三区| 欧美第一黄色网| 亚洲综合成人在线| 久久精品亚洲国产奇米99| 最新亚洲视频| 亚洲综合第一| 亚洲日本理论电影| 午夜精品在线| 日韩视频在线你懂得| 亚洲欧美激情四射在线日| 在线精品亚洲| 亚洲一区二区三区视频| 激情久久久久| 亚洲一区二区三区精品在线观看 | av成人天堂| 国际精品欧美精品| 最新国产拍偷乱拍精品| 国产综合18久久久久久| 99re8这里有精品热视频免费 | 国产一区视频网站| 亚洲精选视频在线| 狠狠色狠狠色综合| 亚洲午夜性刺激影院| 亚洲国产精品va在线看黑人 | 亚洲一二三区在线观看| 亚洲国产精品视频| 亚洲自拍16p| 夜夜嗨av一区二区三区四季av| 欧美在线亚洲在线| 亚洲影视在线播放| 欧美大片在线观看一区| 久久综合99re88久久爱| 国产精品一区在线观看| 日韩视频不卡中文| 亚洲日本精品国产第一区| 久久精品中文字幕一区二区三区 | 国产欧美日韩综合一区在线观看 | 国产精品美女久久久久aⅴ国产馆| 老司机成人网| 国内精品99| 欧美一级专区免费大片| 午夜精品一区二区三区电影天堂| 欧美精品日韩精品| 亚洲第一黄色| 亚洲精品国偷自产在线99热| 久久人人看视频| 六十路精品视频| 伊人成人开心激情综合网| 欧美一区在线视频| 久久久噜噜噜久久| 黄页网站一区| 久久免费视频网| 欧美xxx在线观看| 亚洲经典三级| 欧美精品观看| 亚洲最黄网站| 午夜精品久久久久久久99水蜜桃 | 国产亚洲欧洲| 欧美伊人久久久久久久久影院| 性欧美xxxx大乳国产app| 国产精品国产三级国产专区53| 亚洲另类黄色| 亚洲资源av| 国产无一区二区| 欧美在线视频不卡| 免费一区视频| 一区二区三区欧美视频| 国产精品日日摸夜夜摸av| 亚洲欧美日韩在线一区| 麻豆精品视频| 9国产精品视频| 国产精品毛片大码女人| 欧美在线网站| 亚洲激情国产| 欧美伊人影院| 最新日韩中文字幕| 欧美午夜视频一区二区| 欧美一级一区| 亚洲丶国产丶欧美一区二区三区| 亚洲视频免费观看| 国产午夜精品理论片a级探花| 麻豆成人精品| 亚洲一区图片| 亚洲二区在线观看| 亚洲欧美日韩网| 在线观看91精品国产麻豆| 欧美日韩中文| 久久综合九色综合欧美就去吻 | 麻豆国产va免费精品高清在线| 91久久精品国产91久久性色| 国产精品99免费看| 久久人人97超碰国产公开结果| 99视频一区| 老司机一区二区| 亚洲欧美另类在线| 亚洲国产精品成人久久综合一区| 国产精品久久97| 欧美 日韩 国产在线 | 看片网站欧美日韩| 亚洲永久在线| 亚洲精品免费一二三区| 国产乱子伦一区二区三区国色天香 | 美女脱光内衣内裤视频久久网站| 中文亚洲欧美| 亚洲精品免费看| 精品va天堂亚洲国产| 国产精品乱子久久久久| 欧美激情欧美狂野欧美精品| 久久久久久久久久久久久女国产乱 | 麻豆亚洲精品| 欧美在线精品一区| 亚洲一区欧美激情| 日韩系列在线| 亚洲欧洲日本国产| 亚洲国产第一| 欧美成人午夜激情| 久久亚洲美女| 久久一区国产| 久久这里只精品最新地址| 久久国产精品99精品国产| 亚洲一区二区高清| 一区二区三区四区国产| 99riav1国产精品视频| 亚洲欧洲一区二区在线观看| 亚洲国产一区在线观看| **欧美日韩vr在线| 亚洲国产成人av| 亚洲第一主播视频| 亚洲国产精品精华液2区45| 极品尤物av久久免费看 | 国产精品日韩精品欧美在线| 欧美日韩在线第一页| 欧美日韩一级视频| 国产精品草草| 国产女人水真多18毛片18精品视频| 国产精品嫩草久久久久| 国产精品系列在线播放| 国产日韩欧美一二三区| 国产日韩精品久久久| 国产一区二区在线免费观看| 国内精品久久久久影院优| 国外成人性视频| 亚洲国产日韩精品| 亚洲美女色禁图| 亚洲一区二区免费| 新67194成人永久网站| 久久久精品一区二区三区| 免费亚洲电影在线观看| 亚洲激情在线激情| 国产精品99久久久久久久vr| 午夜电影亚洲| 蜜臀久久99精品久久久画质超高清 | 久久亚洲欧洲| 欧美日韩成人综合| 国产精品美女主播| 在线成人国产| 一区二区三区欧美在线| 久久福利一区| 亚洲国产日日夜夜| 一本色道久久综合精品竹菊 | 久久久777| 欧美区在线播放| 国产美女精品| 亚洲精品久久久久久久久久久久久| 亚洲婷婷综合久久一本伊一区| 久久精品盗摄| 亚洲精品一区二区三区99| 亚洲一区三区视频在线观看| 久久影音先锋| 国产精品久久久久久亚洲毛片| 亚洲国产精品久久久久| 亚洲夜晚福利在线观看| 免费一级欧美片在线观看| 亚洲午夜久久久| 嫩模写真一区二区三区三州| 国产精品一区一区| 一区二区三区高清| 女人色偷偷aa久久天堂| 亚洲综合欧美| 欧美精品久久久久久久久久| 国产综合欧美在线看| 午夜精品久久久久久久久久久久久| 欧美国产丝袜视频| 久久成人一区| 国产精品系列在线|