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

Error

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
 

網(wǎng)上很容易找到一個(gè)用boost::shared_mutex來作為讀寫鎖的例子:

  1. typedef boost::shared_mutex rwmutex;  
  2. typedef boost::shared_lock<rwmutex> readLock;  
  3. typedef boost::unique_lock<rwmutex> writeLock;   

 

一直沒有懷疑過這個(gè)做法,直到最近項(xiàng)目中出現(xiàn)一個(gè)死鎖問題,查了很久才發(fā)現(xiàn)是上面這種寫法造成的。

寫測(cè)試代碼還原死鎖的情景如下:

  1. #include <boost/thread/shared_mutex.hpp>   
  2. #include <boost/thread/shared_lock_guard.hpp>   
  3. #include <boost/thread.hpp>   
  4. #include <iostream>   
  5. #include <Windows.h>   
  6. using namespace std;  
  7. typedef boost::shared_mutex rwmutex;  
  8. typedef boost::shared_lock<rwmutex> readLock;  
  9. typedef boost::unique_lock<rwmutex> writeLock;  
  10.   
  11. rwmutex m_mutex;  
  12. void func1()  
  13. {  
  14.     writeLock lock1(m_mutex);  
  15.     cout << "fffffffffffffff" << endl;  
  16. }  
  17.   
  18. int main()  
  19. {  
  20.     {  
  21.         boost::thread tt(func1);  
  22.         readLock lock(m_mutex); // 加讀鎖   
  23.         {  
  24.             Sleep(3000);  // 故意睡眠3秒將線程切換出去   
  25.             readLock lock(m_mutex); // 醒來后再次加讀鎖   
  26.             cout << "rrrrrrrrrrrrrrrrrr" << endl;  
  27.         }  
  28.     }  
  29. }  

情形描述如下:

1:主線程先給m_mutex加讀鎖。

2:主線程故意睡眠3秒將執(zhí)行權(quán)限切換出去。

3:func1線程獲得執(zhí)行機(jī)會(huì),嘗試加寫鎖被掛起。因?yàn)橹骶€程已經(jīng)有一個(gè)讀鎖占用,寫鎖必須等待這個(gè)讀鎖釋放才能進(jìn)入。

4:主線程睡眠3秒醒來,后續(xù)代碼想獲取一個(gè)讀鎖。由于這個(gè)時(shí)候已經(jīng)有一個(gè)寫鎖在等待進(jìn)入,那么這個(gè)讀鎖排隊(duì)在寫鎖后面,同樣被掛起。

5:主線程和func1線程都被掛起了,發(fā)生死鎖。

上面的測(cè)試代碼,如果中間沒有sleep(3000),出現(xiàn)死鎖的概率很低,但總歸是存在死鎖的可能。

 

總結(jié):

以前一直認(rèn)為readLock鎖和遞歸鎖一樣,在同一個(gè)線程多次進(jìn)入沒有關(guān)系才會(huì)造成上面的死鎖出現(xiàn)。所以,boost::shared_lock使用要小心,千萬不要同一個(gè)線程多次進(jìn)入。

posted on 2013-01-31 18:46 Enic 閱讀(1585) 評(píng)論(0)  編輯 收藏 引用 所屬分類: about boost
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久综合网hezyo| 国产精品久久久久9999| 欧美不卡高清| 亚洲第一天堂无码专区| 久久精品夜色噜噜亚洲a∨| 老司机亚洲精品| 91久久久亚洲精品| 欧美日韩一二区| 亚洲欧美成人精品| 蜜臀av国产精品久久久久| 亚洲免费成人| 国产欧美日韩精品丝袜高跟鞋 | 老牛嫩草一区二区三区日本| 欧美国产免费| 亚洲性人人天天夜夜摸| 国产一级久久| 欧美精品日日鲁夜夜添| 亚洲综合视频在线| 女生裸体视频一区二区三区| 这里只有精品在线播放| 国产女优一区| 欧美电影免费观看| 亚洲欧美中日韩| 亚洲电影视频在线| 亚洲字幕一区二区| 韩国一区二区三区在线观看| 欧美精品三级日韩久久| 欧美伊人久久大香线蕉综合69| 亚洲福利视频一区二区| 亚洲一区美女视频在线观看免费| 黄色成人在线网址| 欧美日韩一卡| 麻豆乱码国产一区二区三区| 亚洲一区二区三区四区在线观看| 欧美激情女人20p| 欧美一区二区免费视频| 99精品国产福利在线观看免费| 国产精品网站在线观看| 欧美精品国产| 久久欧美中文字幕| 亚洲一区二区成人在线观看| 亚洲国产精品一区在线观看不卡| 久久国产99| 亚洲午夜一级| 日韩午夜免费| 亚洲国产欧美在线人成| 国产亚洲欧美另类一区二区三区| 欧美日韩国产成人| 欧美成人精品在线观看| 欧美在线不卡视频| 亚洲性xxxx| 99re6热在线精品视频播放速度| 米奇777在线欧美播放| 久久国产视频网站| 亚洲综合色婷婷| 中文国产一区| 一区二区三区高清不卡| 91久久精品美女| 亚洲电影第1页| 国产综合久久久久久| 国产精品专区第二| 国产精品video| 欧美色播在线播放| 欧美日本一区二区三区| 欧美国产日韩一区二区三区| 蜜桃av一区二区三区| 久久精品国产久精国产爱| 午夜精品久久久久| 性娇小13――14欧美| 亚洲欧美一区二区三区久久 | 久久久久成人精品| 欧美专区福利在线| 久久电影一区| 久久久久在线| 免费高清在线一区| 你懂的视频欧美| 亚洲电影免费在线观看| 欧美国产日韩精品| 亚洲精品免费一区二区三区| 最新中文字幕亚洲| 日韩一级在线观看| 国产精品99久久久久久久女警 | 国产亚洲美州欧州综合国| 国产日韩欧美在线观看| 国产亚洲一区二区精品| 黑人一区二区| 亚洲精品乱码视频| 中文精品99久久国产香蕉| 亚洲一区二区视频在线观看| 亚洲欧美一级二级三级| 久久久久久久性| 老司机午夜精品视频| 亚洲夫妻自拍| 在线视频一区观看| 欧美一区二区三区的| 久久亚洲一区二区| 欧美久久电影| 国产欧美91| 亚洲福利国产精品| 一级成人国产| 久久久另类综合| 91久久久久久| 亚洲欧美日韩国产中文在线| 久久久久高清| 欧美日韩国产成人高清视频| 国产欧美日韩三级| 亚洲激情视频在线观看| 亚洲在线视频观看| 欧美+亚洲+精品+三区| 亚洲精品一区二区三区蜜桃久| 亚洲直播在线一区| 美女网站久久| 国产精品一区二区在线观看网站| 伊人久久综合| 亚洲欧美日韩国产精品| 六月天综合网| 亚洲视频一二三| 老妇喷水一区二区三区| 国产精品高清免费在线观看| 在线观看欧美激情| 亚洲欧美精品suv| 亚洲国产精品v| 欧美在线亚洲在线| 欧美视频一区二区| 亚洲国产成人一区| 久久精品亚洲热| 日韩手机在线导航| 麻豆精品一区二区av白丝在线| 国产精品美腿一区在线看| 亚洲精品中文字幕女同| 久久久久久一区二区三区| 一本久久a久久免费精品不卡| 久久久夜夜夜| 国产亚洲综合性久久久影院| 亚洲特色特黄| 亚洲日韩中文字幕在线播放| 久久精品国产亚洲aⅴ| 国产精品免费视频观看| 一区二区欧美日韩视频| 亚洲国产视频a| 久久性色av| 一区在线视频| 久久久久久一区二区| 亚洲欧美福利一区二区| 欧美四级在线观看| 一本色道久久99精品综合 | 亚洲国产99精品国自产| 久久疯狂做爰流白浆xx| 亚洲免费影视| 国产精品网站一区| 午夜免费在线观看精品视频| 一区二区欧美国产| 欧美日韩国产一区精品一区| 99re热这里只有精品免费视频| 欧美成人激情在线| 麻豆国产精品777777在线| 在线日韩欧美视频| 欧美wwwwww| 老司机精品福利视频| 在线欧美日韩| 亚洲成人在线视频播放| 久久精品综合一区| 影音先锋在线一区| 欧美成人精品在线| 免费不卡视频| 日韩视频在线观看免费| 亚洲精品一区二区三区樱花| 欧美经典一区二区三区| 在线视频亚洲一区| 中文欧美日韩| 国产日韩一区二区三区在线播放| 久久成人av少妇免费| 欧美在线免费| 亚洲第一天堂av| 亚洲日韩欧美一区二区在线| 欧美日韩不卡| 羞羞视频在线观看欧美| 久久精品99| 亚洲人成高清| 在线视频中文亚洲| 国产在线欧美| 欧美成人在线网站| 欧美日韩免费视频| 欧美亚洲午夜视频在线观看| 久久精品99无色码中文字幕| 亚洲第一在线视频| 99国产麻豆精品| 国产自产2019最新不卡| 欧美国产精品| 国产精品伦理| 免费一区视频| 国产精品久久久久久久久果冻传媒 | 欧美日韩亚洲91| 久久不见久久见免费视频1| 久久久久久自在自线| 亚洲乱码国产乱码精品精天堂| 一区二区日韩免费看| 狠狠久久五月精品中文字幕| 亚洲国产综合视频在线观看| 国产精品老牛|