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

歲月流轉,往昔空明

C++博客 首頁 新隨筆 聯系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
沒有什么實際意義(boost.threads已經加入了讀寫鎖好像),只是說明一下condition的用法。
鎖由Mutex和Lock構成。
Mutex是由condition實作而成的,Lock和ScopedLock區別不是很大,分讀寫鎖而已。

以下是Mutex的代碼
class?read_write_mutex
{
????mutex?mtx_;
????
int?read_cnt_;
????condition?cond_;

public:
????read_write_mutex():?read_cnt_(
0){}
????
~read_write_mutex(){}

????
void?lock_read(){
????????mutex::scoped_lock?
lock(mtx_);
????????
while(read_cnt_?<?0){
????????????cond_.wait(
lock);
????????}

????????
++read_cnt_;
????}

????
????
void?unlock_read(){
????????mutex::scoped_lock?
lock(mtx_);
????????
--read_cnt_;
????????cond_.notify_all();
????}


????
void?lock_write(){
????????mutex::scoped_lock?
lock(mtx_);
????????
while(read_cnt_?!=?0){
????????????cond_.wait(
lock);
????????}

????????read_cnt_?
=?-1;
????}


????
void?unlock_write(){
????????mutex::scoped_lock?
lock(mtx_);
????????read_cnt_?
=?0;
????????cond_.notify_all();
????}

}
;

以下是鎖的代碼
class?scoped_rlock
{
????read_write_mutex
&?cond_;
public:
????scoped_rlock(read_write_mutex
&?c):cond_(c){cond_.lock_read();}
????
~scoped_rlock(){cond_.unlock_read();}
}
;

class?scoped_wlock
{
????read_write_mutex
&?cond_;
public:
????scoped_wlock(read_write_mutex
&?c):cond_(c){cond_.lock_write();}
????
~scoped_wlock(){cond_.unlock_write();}
}
;

以下是測試用例:
int?top?=?0;
int?stack[1000];
read_write_mutex?rwc;
mutex?io_mutex;

void?read(int?val)
{
????
for(int?i?=?0;?i?<?20;?++i)
????
{
????????Sleep(
2);

????????scoped_rlock?rlock(rwc);
????????
int?s?=?top;

????????
{
????????????mutex::scoped_lock?
lock(io_mutex);
????????????cout?
<<?"read?begin?"?<<?val?<<?endl;
????????}


????????Sleep(
10);

????????
{
????????????mutex::scoped_lock?
lock(io_mutex);
????????????cout?
<<?"read?end?"?<<?val?<<?endl;
????????}


????????
if(s?!=?top)
????????
{
????????????cout?
<<?"error!"<<endl;
????????}

????}

}


void?write(int?val)
{
????
for(int?i?=?0;?i?<?20;?++i)
????
{
????????Sleep(
2);

????????scoped_wlock?wlock(rwc);

????????
{
????????????mutex::scoped_lock?
lock(io_mutex);
????????????cout?
<<?"write?begin?"?<<?val?<<?endl;
????????}


????????Sleep(
5);

????????
{
????????????mutex::scoped_lock?
lock(io_mutex);
????????????cout?
<<?"write?end?"?<<?val?<<?endl;
????????}

????}

}


int?_tmain(int?argc,?_TCHAR*?argv[])
{
????thread_group?rtg;

????
for(int?i?=?0;?i?<?10;?++i)
????
{
????????rtg.create_thread(boost::bind(
&read,?i));
????}


????
for(int?i?=?0;?i?<?2;?++i)
????
{
????????rtg.create_thread(boost::bind(
&write,?i));
????}


????rtg.join_all();

????system(
"pause");

????
return?0;
}

別忘了頭文件中:
#include?<boost/thread.hpp>
#include?
<boost/bind.hpp>
#include?
<windows.h>
#include?
<iostream>

using?namespace?std;
using?namespace?boost;
posted on 2006-10-23 19:38 空明流轉 閱讀(1818) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久精品国产第一区二区三区| 国产精品欧美日韩一区| 亚洲一区视频在线观看视频| 久久精品麻豆| 亚洲在线中文字幕| 欧美α欧美αv大片| 久久人体大胆视频| 国产精品自在线| 日韩写真在线| 亚洲美女在线观看| 久久综合网络一区二区| 久久久久久噜噜噜久久久精品 | 午夜精品久久久久久久| 在线视频欧美精品| 欧美电影打屁股sp| 亚洲国产精品嫩草影院| 国自产拍偷拍福利精品免费一| 亚洲无线一线二线三线区别av| 99综合电影在线视频| 麻豆九一精品爱看视频在线观看免费| 久久久久久自在自线| 国产视频一区欧美| 欧美一级播放| 久久久久久久久久久一区| 国产欧美一区二区在线观看| 亚洲女爱视频在线| 亚洲欧美日韩在线观看a三区| 欧美色视频日本高清在线观看| 亚洲欧洲偷拍精品| 中日韩在线视频| 国产精品国产自产拍高清av王其| 一本色道久久综合狠狠躁篇的优点 | 久久视频国产精品免费视频在线| 国产伦精品一区二区| 亚洲欧美色婷婷| 久久久久国产精品人| 在线看国产一区| 欧美高清影院| 日韩视频精品在线| 欧美一区二区三区免费观看| 国产亚洲激情| 美女任你摸久久| 亚洲欧洲在线看| 亚洲欧美日韩精品久久| 国产午夜精品在线| 久久综合伊人77777尤物| 欧美国产成人在线| 一级日韩一区在线观看| 国产精品二区在线| 欧美一区二区三区啪啪| 免费视频一区| 99一区二区| 国产日韩成人精品| 欧美成年人视频| 中文亚洲字幕| 欧美96在线丨欧| 亚洲视频综合| 国色天香一区二区| 欧美日韩一区精品| 欧美在线地址| 日韩视频一区二区三区在线播放 | 久久精品亚洲一区二区三区浴池| 在线观看不卡av| 欧美午夜不卡视频| 久久久久久网| 一区二区三区成人精品| 奶水喷射视频一区| 亚洲影视九九影院在线观看| 激情综合色丁香一区二区| 欧美性大战xxxxx久久久| 久久精品亚洲| 亚洲一区二区精品视频| 亚洲高清免费| 久久精品女人| 亚洲欧美成人一区二区三区| 在线观看视频欧美| 国产精品免费看久久久香蕉| 欧美大香线蕉线伊人久久国产精品| 亚洲综合大片69999| 亚洲精品免费看| 欧美超级免费视 在线| 久久av一区| 亚洲欧美国产三级| 99国产精品99久久久久久| 在线免费精品视频| 国产女主播一区二区三区| 欧美日韩一区二| 免费亚洲婷婷| 久久久999成人| 午夜电影亚洲| 亚洲一区二区视频在线| 亚洲精品自在在线观看| 欧美激情精品久久久久久| 久久久久国产一区二区| 亚洲一级片在线观看| 日韩视频免费在线观看| 亚洲二区在线| 狠狠色综合色综合网络| 国产亚洲毛片| 国产欧美大片| 国产日韩欧美不卡在线| 国产麻豆午夜三级精品| 国产精品久久久久天堂| 欧美性猛交xxxx乱大交退制版| 欧美日韩国产经典色站一区二区三区| 免费欧美视频| 欧美成人tv| 欧美日韩一区二区三| 欧美日韩国产高清视频| 欧美日韩一区二区三区在线 | 亚洲视频碰碰| 在线亚洲+欧美+日本专区| 亚洲精选成人| 亚洲社区在线观看| 亚洲一区二区毛片| 性欧美大战久久久久久久免费观看| 亚洲综合视频网| 久久国产高清| 欧美/亚洲一区| 欧美另类69精品久久久久9999| 欧美精品在线观看播放| 欧美特黄一级大片| 国产免费成人在线视频| 国户精品久久久久久久久久久不卡 | 亚洲国产欧美一区| 亚洲精品国产精品乱码不99| 一本色道久久99精品综合| 亚洲免费中文字幕| 久久久99国产精品免费| 欧美1级日本1级| 99精品黄色片免费大全| 亚洲欧美日韩在线一区| 久久久久综合网| 欧美日韩成人在线| 国产精品一区二区欧美| 亚洲第一天堂av| 中文久久乱码一区二区| 久久精品国产第一区二区三区最新章节 | 欧美粗暴jizz性欧美20| 日韩一级大片| 欧美一区二区三区免费视| 欧美+日本+国产+在线a∨观看| 欧美日韩视频在线第一区| 国产午夜亚洲精品理论片色戒| 亚洲福利视频一区| 亚洲欧美精品在线| 美日韩免费视频| 在线天堂一区av电影| 久久免费一区| 欧美视频在线不卡| 91久久国产综合久久| 午夜精品成人在线| 欧美激情中文字幕一区二区| 亚洲一区二区三区精品在线观看| 久久在线免费| 国产婷婷色综合av蜜臀av | 亚洲欧美日韩国产一区| 欧美韩国日本综合| 亚洲欧美久久| 欧美日韩亚洲一区三区| 一区在线影院| 欧美中文字幕精品| 日韩视频第一页| 欧美成人激情视频| 亚洲大片av| 久久精品女人天堂| 亚洲丝袜av一区| 欧美精品一区二区三区蜜桃 | 亚洲免费av观看| 久久综合狠狠| 亚洲欧美在线一区| 国产精品国产精品国产专区不蜜| 亚洲国产岛国毛片在线| 久久精品噜噜噜成人av农村| 一区二区精品在线观看| 欧美精品久久一区| 亚洲国产精品精华液2区45| 久久久久久日产精品| 亚洲一区二区视频在线| 欧美视频一区在线| 亚洲视频 欧洲视频| 亚洲国产日韩美| 免费在线视频一区| 亚洲第一免费播放区| 另类专区欧美制服同性| 欧美一区二区三区视频| 国产欧美 在线欧美| 欧美一区二区三区精品| 亚洲无限av看| 国产精品一区二区三区免费观看| 亚洲一区二区三区在线看| 一区二区成人精品 | 国产精品夫妻自拍| 亚洲视频免费在线观看| 日韩一级免费观看| 欧美午夜一区二区| 亚洲欧美在线观看| 性久久久久久久久久久久| 国产亚洲精品久| 久久婷婷影院|