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

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://m.shnenglu.com/CppExplore/archive/2010/08/28/125067.html

posted on 2010-08-30 12:10 chatler 閱讀(390) 評論(0)  編輯 收藏 引用 所屬分類: Linux_Coding
<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用鏈接

留言簿(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>
            久久久久久自在自线| 久久久高清一区二区三区| 欧美亚男人的天堂| 亚洲天堂av在线免费观看| 亚洲欧洲在线免费| 一区二区成人精品 | 欧美福利一区二区| 欧美精品激情在线观看| 欧美日韩中文字幕日韩欧美| 国产精品综合不卡av| 国产一区二区三区四区在线观看 | 香蕉成人久久| 奶水喷射视频一区| 国产精品手机在线| 国内外成人在线| 一本色道久久99精品综合| 欧美一级淫片播放口| 欧美激情精品久久久久久大尺度 | 精品51国产黑色丝袜高跟鞋| 亚洲国产精品毛片| 亚洲免费在线观看视频| 亚洲在线视频| 欧美sm极限捆绑bd| 欧美母乳在线| 国产欧美日韩亚洲一区二区三区| 在线观看日韩av| 午夜精品久久久久久久99樱桃| 欧美www视频| 午夜精品福利视频| 欧美精品精品一区| 亚洲国产精品成人va在线观看| 亚洲一区二区三区在线视频| 男同欧美伦乱| 欧美一区二区大片| 国产精品美女xx| 99re6这里只有精品视频在线观看| 久久精品视频在线| 亚洲影院免费观看| 欧美—级a级欧美特级ar全黄| 国产精品一区二区三区四区| 亚洲午夜精品久久久久久浪潮| 欧美国产日本韩| 久久精品一二三| 国产美女精品在线| 亚洲中无吗在线| 日韩一级裸体免费视频| 女女同性精品视频| 亚洲国产三级| 欧美国产激情二区三区| 久久久亚洲人| 一区二区在线视频| 久久久中精品2020中文| 亚洲欧美乱综合| 国产伦精品一区二区三区四区免费 | 欧美激情久久久久久| 性色av一区二区三区| 国产精品劲爆视频| 午夜精品久久| 亚洲欧美日韩成人高清在线一区| 欧美性猛交xxxx乱大交蜜桃| 亚洲少妇诱惑| 一本一本久久| 99re热这里只有精品免费视频| 美女国产一区| 最近中文字幕日韩精品 | 久久精品国产一区二区三| 亚洲视屏一区| 国产日韩在线亚洲字幕中文| 久久久久久久999精品视频| 久久精视频免费在线久久完整在线看| 精品999成人| 亚洲国产欧美日韩另类综合| 久久精品女人| 亚洲三级性片| 伊人激情综合| 一区二区三区www| 亚洲美女毛片| 国产精品99一区二区| 欧美亚洲午夜视频在线观看| 欧美自拍偷拍| 亚洲欧洲日韩女同| 在线中文字幕一区| 精品福利av| 亚洲伦伦在线| 国产一区二区三区免费观看 | 久久久久久久波多野高潮日日| 久久青青草原一区二区| 亚洲视频一起| 久久久久国产一区二区| 99www免费人成精品| 亚洲一级黄色| 亚洲激情国产| 亚洲欧美日本国产专区一区| 亚洲国产精品久久人人爱蜜臀| 中文高清一区| 亚洲欧洲中文日韩久久av乱码| 亚洲一区二区三区在线看| 亚洲国产精品一区二区久| 亚洲一二三区精品| 亚洲精品久久视频| 欧美一区二区啪啪| 亚洲小说欧美另类婷婷| 久热精品在线视频| 亚洲欧美电影在线观看| 欧美国产日韩二区| 久久久久免费观看| 国产精品xnxxcom| 91久久精品www人人做人人爽| 国产亚洲欧美一区二区| 中日韩美女免费视频网址在线观看| 加勒比av一区二区| 香蕉av777xxx色综合一区| 亚洲午夜一区二区| 欧美不卡视频| 欧美1区视频| 狠狠狠色丁香婷婷综合久久五月| 亚洲深夜福利在线| 一本综合精品| 欧美理论大片| 亚洲高清久久久| 亚洲国产美女精品久久久久∴| 久久不射电影网| 久久精品一区二区三区中文字幕| 国产精品va在线| av成人毛片| 亚洲视频一区二区| 欧美劲爆第一页| 亚洲国产欧美在线| 亚洲成色www久久网站| 久久久人成影片一区二区三区观看 | 尤物精品在线| 久久精品99无色码中文字幕| 久久9热精品视频| 国产偷久久久精品专区| 亚洲人成网站在线观看播放| 久久黄色级2电影| 欧美视频导航| 一区二区三区久久| 亚洲欧美另类中文字幕| 国产精品爱啪在线线免费观看| 一区二区三区四区五区精品| 亚洲影音一区| 国产欧美成人| 久久黄色网页| 亚洲激情精品| 亚洲一区二区在线免费观看视频| 国产精品红桃| 亚洲欧美一区二区在线观看| 久久亚洲视频| 99精品视频免费观看| 欧美日韩精品久久| 亚洲欧美在线一区二区| 美国十次了思思久久精品导航| 91久久夜色精品国产网站| 欧美日韩国产综合视频在线观看中文 | 欧美一区二区三区免费视频| 久久久久久欧美| 亚洲电影在线播放| 欧美国产日本高清在线| 亚洲少妇一区| 美女国产一区| 99国产精品久久| 久久香蕉国产线看观看av| 亚洲精品一区二区三区婷婷月| 国产精品久久久久久久久动漫| 午夜视黄欧洲亚洲| 亚洲国产清纯| 久久国产精品网站| 日韩午夜高潮| 好吊色欧美一区二区三区四区| 欧美顶级大胆免费视频| 亚洲男人的天堂在线| 欧美激情一区二区三区高清视频| 先锋资源久久| 亚洲九九精品| 激情小说亚洲一区| 国产精品高潮呻吟久久av无限| 久久午夜电影网| 亚洲与欧洲av电影| 亚洲国内自拍| 久久综合九色99| 午夜一区在线| 一区二区三区四区精品| 国精品一区二区三区| 欧美视频久久| 欧美久久一级| 免费日韩成人| 久久婷婷丁香| 久久精品观看| 亚洲欧美中文日韩在线| 亚洲美洲欧洲综合国产一区| 免费欧美日韩| 久久免费视频网站| 性色av一区二区怡红| 亚洲天堂av综合网| 亚洲人成久久| 亚洲黄色在线| 亚洲国产99精品国自产| 精品av久久久久电影| 黄色小说综合网站|