歲月流轉(zhuǎn),往昔空明
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(15)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(118)
2014年1月 (1)
2013年2月 (1)
2013年1月 (1)
2012年3月 (2)
2012年2月 (1)
2011年12月 (1)
2011年11月 (1)
2011年8月 (1)
2011年7月 (1)
2011年6月 (2)
2011年5月 (1)
2011年4月 (2)
2011年3月 (3)
2011年1月 (2)
2010年12月 (1)
2010年9月 (1)
2010年8月 (1)
2010年7月 (1)
2010年6月 (3)
2010年5月 (3)
2010年4月 (2)
2010年3月 (3)
2009年12月 (6)
2009年10月 (1)
2009年3月 (1)
2009年2月 (1)
2009年1月 (1)
2008年12月 (1)
2008年11月 (2)
2008年9月 (1)
2008年7月 (3)
2008年6月 (1)
2008年5月 (3)
2008年3月 (1)
2008年2月 (3)
2007年12月 (2)
2007年11月 (4)
2007年10月 (3)
2007年8月 (5)
2007年7月 (2)
2007年6月 (5)
2007年5月 (5)
2007年4月 (2)
2007年1月 (3)
2006年12月 (7)
2006年11月 (6)
2006年10月 (6)
2006年9月 (2)
2006年5月 (3)
2005年12月 (1)
2005年11月 (2)
文章分類
(3)
Tips,Tricks(1)
程序庫實(shí)作
鏈接區(qū)
軟件的藍(lán)圖(1)
數(shù)字魔方
心情故事
眾樂樂(1)
轉(zhuǎn)貼區(qū)
文章檔案
(3)
2006年5月 (1)
2005年12月 (1)
2005年11月 (1)
收藏夾
(1)
圖形學(xué)(1)
青青子衿
友情鏈接
Azure的專欄
3D技術(shù)挺好的,博客(網(wǎng)站?)有很多值得學(xué)習(xí)的例子.高人一名.
Flyingis的博客,GIS
GIS的高手,望塵莫及,努力學(xué)習(xí)中。
VCZH的博客
編譯器小霸王,現(xiàn)在在Microsoft Search Tech Group實(shí)習(xí)
波波的Blog
離線大牛啊~
六水的主頁
六水的主頁,Inverse Kinematic,Ray Tracing, Photon Mapping皆有涉獵。CTO.
我的心靈是一片湖藍(lán)
我在GameRes上的Blog,經(jīng)營了一段時間了。經(jīng)常會翻翻以前的帖子,回味一下過去的快樂和悲傷。
最新隨筆
1.?2013總結(jié)
2.?SALVIA 0.5.2優(yōu)化談
3.?開源光柵化渲染器SALVIA的漫長五年(準(zhǔn)·干貨)
4.?SASL編譯器Diagnostic信息的管理、格式化與輸出
5.?SALVIA 0.3 發(fā)布:Pixel Shader添加了tex2D的支持
6.?開源軟件光柵化渲染器SALVIA 0.2.5發(fā)布:為Pixel Shader添加了分支與循環(huán)的支持
7.?SALVIA正式支持一站式編譯
8.?LLVM隨筆
9.?LLVM的調(diào)用協(xié)議與內(nèi)存對齊
10.?SALVIA Milestone 1.1 Fix 1: 新Sponza Demo
搜索
積分與排名
積分 - 278529
排名 - 93
最新評論
1.?re: 開源光柵化渲染器SALVIA的漫長五年(準(zhǔn)·干貨)
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bitzhuwei
2.?re: 研究生,請你拒絕C++的愛(下)
看了幾次學(xué)長寫的東西,尤其是這個。
深深覺得學(xué)長說的是正確的。如果一年前我能多看看學(xué)長的東西,恐怕不會在C++上浪費(fèi)了如此多的精力和金錢。。。。。
感謝學(xué)長美文,以享莘莘工科狗!thx!
--yuen
3.?re: 碩士論文致謝
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--往往
4.?re: 十年編程——和本文罪魁禍?zhǔn)钻愯麇黄鸬磕钍湃サ氖?/a>
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--往往
5.?re: 一個3D骨骼動畫 2D版超精簡Demo,原理和實(shí)現(xiàn)幾乎同3D一致
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--往往
閱讀排行榜
1.?C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較(10990)
2.?一個3D骨骼動畫 2D版超精簡Demo,原理和實(shí)現(xiàn)幾乎同3D一致(8471)
3.?開源光柵化渲染器SALVIA的漫長五年(準(zhǔn)·干貨)(6070)
4.?告別的話(5945)
5.?碩士論文致謝(5294)
評論排行榜
1.?十年編程——和本文罪魁禍?zhǔn)钻愯麇黄鸬磕钍湃サ氖?20)
2.?[轉(zhuǎn)貼]構(gòu)造可配置的詞法分析器(已完結(jié))(19)
3.?SALVIA:A Direct 3D 10 Similar Software Renderer 項(xiàng)目新成員招募計(jì)劃(15)
4.?碩士論文致謝(14)
5.?告別的話(14)
使用boost.threads的condition構(gòu)造的讀寫鎖
沒有什么實(shí)際意義(boost.threads已經(jīng)加入了讀寫鎖好像),只是說明一下condition的用法。
鎖由Mutex和Lock構(gòu)成。
Mutex是由condition實(shí)作而成的,Lock和ScopedLock區(qū)別不是很大,分讀寫鎖而已。
以下是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
空明流轉(zhuǎn)
閱讀(1802)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 空明流轉(zhuǎn)
99久久精品免费国产大片
|
7国产欧美日韩综合天堂中文久久久久
|
久久艹国产
|
日韩久久无码免费毛片软件
|
亚洲一区精品伊人久久伊人
|
老色鬼久久亚洲AV综合
|
亚洲国产精品久久
|
欧美亚洲国产精品久久
|
久久99精品久久久久子伦
|
久久久久18
|
精品无码久久久久久尤物
|
99久久国产亚洲高清观看2024
|
欧美精品久久久久久久自慰
|
国产精品一区二区久久
|
尹人香蕉久久99天天拍
|
99久久无码一区人妻a黑
|
一级a性色生活片久久无少妇一级婬片免费放
|
囯产精品久久久久久久久蜜桃
|
91精品国产91久久
|
久久久久AV综合网成人
|
久久久久亚洲av成人网人人软件
|
欧美久久精品一级c片片
|
中文字幕精品久久
|
久久国产成人午夜AV影院
|
99久久99这里只有免费的精品
|
久久笫一福利免费导航
|
久久国产香蕉视频
|
99久久成人18免费网站
|
99久久精品免费看国产一区二区三区
|
亚洲精品美女久久久久99
|
亚洲精品国产自在久久
|
久久人搡人人玩人妻精品首页
|
狠色狠色狠狠色综合久久
|
久久精品国产99久久无毒不卡
|
亚洲成av人片不卡无码久久
|
国产精品乱码久久久久久软件
|
久久九九青青国产精品
|
久久99国产精品久久久
|
久久99国产精品99久久
|
99久久99久久精品国产
|
看全色黄大色大片免费久久久
|