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

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 閱讀(390) 評論(0)  編輯 收藏 引用 所屬分類: Linux_Coding
<2025年9月>
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>
            蜜臀久久99精品久久久久久9 | 一区二区日韩精品| 久久综合电影一区| 久久亚洲视频| 99热在线精品观看| 在线综合+亚洲+欧美中文字幕| 欧美日韩另类丝袜其他| 久久九九热免费视频| 久久在线免费视频| 悠悠资源网久久精品| 欧美激情在线狂野欧美精品| 欧美激情一区二区三区四区| 亚洲一区二区高清视频| 午夜免费日韩视频| 亚洲高清自拍| 亚洲婷婷免费| 久久人体大胆视频| 欧美激情第1页| 国产精品电影网站| 久久亚洲国产成人| 欧美激情女人20p| 欧美在线影院| 一区二区欧美国产| 日韩一级片网址| 香蕉久久一区二区不卡无毒影院| 精品9999| 亚洲一区二区免费在线| 在线观看欧美亚洲| 亚洲午夜女主播在线直播| 极品日韩久久| 一本不卡影院| 亚洲黄色影片| 午夜免费久久久久| 亚洲午夜在线视频| 蜜臀久久99精品久久久久久9 | 亚洲日本精品国产第一区| 亚洲专区一区二区三区| 亚洲精选在线| 久久蜜桃精品| 亚洲摸下面视频| 蜜臀a∨国产成人精品| 性欧美在线看片a免费观看| 欧美成人一区在线| 久久综合伊人77777| 国产精品久久久久久久久久直播| 欧美激情亚洲另类| 国外成人在线视频| 亚洲永久字幕| 午夜精品在线| 国产精品99免费看 | 欧美人与性禽动交情品| 欧美ed2k| 伊人久久婷婷| 欧美一区二区三区久久精品| 亚洲欧美日韩国产精品| 欧美日韩久久| 亚洲精品久久久久| 亚洲国产精品电影| 久热精品在线| 亚洲第一黄色网| 最近看过的日韩成人| 久久久夜精品| 欧美jizzhd精品欧美巨大免费| 国产在线高清精品| 久久av一区二区| 久久女同精品一区二区| 蜜臀久久99精品久久久画质超高清| 欧美制服丝袜| 久久er精品视频| 国产农村妇女精品| 香蕉av777xxx色综合一区| 久久精品72免费观看| 国语精品一区| 久久青草久久| 亚洲国产欧美在线| 夜夜嗨一区二区| 国产精品日韩久久久| 亚洲欧美在线免费| 久久综合色播五月| 亚洲欧洲日本专区| 欧美日韩精品一区二区天天拍小说 | 国产精品萝li| 欧美在线视频播放| 蜜桃伊人久久| 日韩午夜激情| 国产伦精品一区二区三区视频孕妇| 亚洲一区二区三区三| 久久香蕉国产线看观看网| 亚洲激情在线观看| 欧美日韩网站| 久久福利一区| 亚洲欧洲三级电影| 欧美一区二区大片| 91久久国产综合久久| 欧美日韩精品一区二区三区| 欧美亚洲专区| 亚洲激情午夜| 久久精品国产999大香线蕉| 亚洲日本成人网| 国产欧美亚洲精品| 欧美成年人网站| 亚洲一区国产一区| 亚洲第一黄色| 久久久久国色av免费看影院| 亚洲精品日韩在线| 国产精品一香蕉国产线看观看 | 亚洲女人天堂成人av在线| 欧美激情一区二区| 欧美在线999| 日韩视频在线一区二区三区| 国产午夜精品在线观看| 欧美激情视频一区二区三区不卡| 亚洲欧美日韩国产综合| 亚洲黄色成人| 免播放器亚洲| 久久国产精品一区二区三区四区 | 91久久亚洲| 国产亚洲午夜| 国产精品私房写真福利视频| 欧美国产视频日韩| 狼狼综合久久久久综合网 | 91久久中文| 欧美国产极速在线| 久久久国产精品一区二区三区| 一区二区动漫| 亚洲激情校园春色| 1024亚洲| 黄色资源网久久资源365| 国产精品一区二区欧美| 欧美色道久久88综合亚洲精品| 久久另类ts人妖一区二区| 香蕉久久国产| 国产精品视频yy9299一区| 欧美在线三区| 欧美亚洲三级| 午夜久久资源| 午夜一区在线| 亚洲欧美日韩综合一区| 一区二区三区黄色| 99av国产精品欲麻豆| 亚洲麻豆国产自偷在线| 亚洲精品影视在线观看| 日韩视频一区二区在线观看| 亚洲欧洲久久| 亚洲精品在线免费| 日韩西西人体444www| 日韩视频一区| 亚洲图片激情小说| 午夜在线不卡| 欧美专区亚洲专区| 久久亚洲国产精品日日av夜夜| 久久精品男女| 免费亚洲电影在线观看| 欧美福利精品| 欧美午夜视频一区二区| 国产精品色午夜在线观看| 国产欧美日韩综合| 精品9999| 一本不卡影院| 久久av免费一区| 久久夜色精品国产亚洲aⅴ| 女人香蕉久久**毛片精品| 亚洲激情视频在线| 一卡二卡3卡四卡高清精品视频| 亚洲视频一二三| 久久九九久久九九| 欧美精品亚洲一区二区在线播放| 欧美日韩国产一区二区三区地区| 国产精品久久久久av| 好吊视频一区二区三区四区 | 在线不卡中文字幕| 99伊人成综合| 久久久www成人免费毛片麻豆| 欧美成人一二三| 一区二区三区av| 久久久久久97三级| 欧美日韩国产专区| 国产一区二区三区在线观看视频| 亚洲国产成人不卡| 午夜精品久久久久久久| 猛男gaygay欧美视频| 一区二区三区免费观看| 久久久久久久一区二区三区| 欧美国产视频日韩| 国产一区自拍视频| 夜夜精品视频| 欧美电影资源| 亚洲自拍啪啪| 欧美日韩第一区日日骚| 黄色成人在线网址| 中文网丁香综合网| 免费观看国产成人| 亚洲男人第一网站| 欧美日韩免费看| 亚洲第一精品久久忘忧草社区| 亚洲免费在线电影| 亚洲看片网站| 久久综合一区二区| 国模私拍一区二区三区| 亚洲一区精彩视频|