锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久综合久久自在自线精品自,国产精品18久久久久久vr,亚洲AV日韩精品久久久久久久http://www.shnenglu.com/thisisbin/archive/2009/02/09/73320.html璁告搗鏂?/dc:creator>璁告搗鏂?/author>Mon, 09 Feb 2009 09:59:00 GMThttp://www.shnenglu.com/thisisbin/archive/2009/02/09/73320.htmlhttp://www.shnenglu.com/thisisbin/comments/73320.htmlhttp://www.shnenglu.com/thisisbin/archive/2009/02/09/73320.html#Feedback0http://www.shnenglu.com/thisisbin/comments/commentRss/73320.htmlhttp://www.shnenglu.com/thisisbin/services/trackbacks/73320.html

]]>
瀹炵幇boost::thread涓璕AII椋庢牸鐨勫叡浜攣http://www.shnenglu.com/thisisbin/archive/2009/01/22/72446.html璁告搗鏂?/dc:creator>璁告搗鏂?/author>Thu, 22 Jan 2009 02:22:00 GMThttp://www.shnenglu.com/thisisbin/archive/2009/01/22/72446.htmlhttp://www.shnenglu.com/thisisbin/comments/72446.htmlhttp://www.shnenglu.com/thisisbin/archive/2009/01/22/72446.html#Feedback0http://www.shnenglu.com/thisisbin/comments/commentRss/72446.htmlhttp://www.shnenglu.com/thisisbin/services/trackbacks/72446.html瀹炵幇浠g爜錛?br>

    typedef enum { UNIQUE_LOCK, SHARED_LOCK } LockType;

template<LockType lt>
class shared_lock;

template 
<>
class shared_lock<UNIQUE_LOCK>private boost::noncopyable {
public:
    shared_lock(boost::shared_mutex
& sm): sm_(sm) sm_.lock(); }
    
~shared_lock() { sm_.unlock(); }
private:
    boost::shared_mutex
& sm_;
}
;

template 
<>
class shared_lock<SHARED_LOCK>private boost::noncopyable {
public:
    shared_lock(boost::shared_mutex
& sm): sm_(sm) sm_.lock_shared(); }
    
~shared_lock() { sm_.unlock_shared(); }
private:
    boost::shared_mutex
& sm_;
}
;



璋冪敤鏂瑰紡錛?br>

    boost::shared_mutex session_mutex_;

//鐙崰閿佸畾
shared_lock<UNIQUE_LOCK> lock(session_mutex_);

//鍏變韓閿佸畾
shared_lock<SHARED_LOCK> lock(session_mutex_);


http://www.shnenglu.com/thisisbin/archive/2009/01/21/72417.html 涓鏂?single-write/multi-read 灝卞彲浠ュ簲鐢ㄨ繖縐峈AII椋庢牸鐨勫叡浜攣瀹?/p>

]]>
搴旂敤boost::thread鐨剆hared_mutex瀹炵幇singled_write/multi_read鐨勭畝鍗曚緥瀛?/title><link>http://www.shnenglu.com/thisisbin/archive/2009/01/21/72417.html</link><dc:creator>璁告搗鏂?/dc:creator><author>璁告搗鏂?/author><pubDate>Wed, 21 Jan 2009 05:58:00 GMT</pubDate><guid>http://www.shnenglu.com/thisisbin/archive/2009/01/21/72417.html</guid><wfw:comment>http://www.shnenglu.com/thisisbin/comments/72417.html</wfw:comment><comments>http://www.shnenglu.com/thisisbin/archive/2009/01/21/72417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/thisisbin/comments/commentRss/72417.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/thisisbin/services/trackbacks/72417.html</trackback:ping><description><![CDATA[    紼嬪簭涓嚑涓嚎紼嬩竴璧峰線鎺у埗鍙板啓鍏og_info錛屼絾鏄彲浠ュ緢娓呮鐨勭湅鍒癰egin or write_process涓嶄細鍚屾椂榪炵畫鐨勫嚭鐜幫紝鑰屼笖鍦╞egin of write_process鍜宔nd of write_process涔嬮棿鑲畾涓嶄細鍑虹幇begin of read_process鎴栬卐nd of read_process銆備絾鏄痓egin of read_process鍗翠細鍦ㄦ帶鍒跺彴涓婅繛緇嚭鐜幫紝榪欒鏄庡湪鍚屼竴鏃跺埢鍙湁涓涓獁rite_prcess鍦ㄨ繍琛岋紝浣嗘槸wrte_process娌℃湁榪愯鐨勬椂鍊欙紝浼氭湁澶氫釜read_process騫跺彂榪愯銆?br><br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;"> 1</span> <span style="color: #000000;">#include </span><span style="color: #000000;"><</span><span style="color: #000000;">iostream</span><span style="color: #000000;">></span><span style="color: #000000;"><br></span><span style="color: #008080;"> 2</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 3</span> <span style="color: #000000;">#include </span><span style="color: #000000;"><</span><span style="color: #000000;">boost</span><span style="color: #000000;">/</span><span style="color: #000000;">thread</span><span style="color: #000000;">/</span><span style="color: #000000;">thread.hpp</span><span style="color: #000000;">></span><span style="color: #000000;"><br></span><span style="color: #008080;"> 4</span> <span style="color: #000000;">#include </span><span style="color: #000000;"><</span><span style="color: #000000;">boost</span><span style="color: #000000;">/</span><span style="color: #000000;">thread</span><span style="color: #000000;">/</span><span style="color: #000000;">shared_mutex.hpp</span><span style="color: #000000;">></span><span style="color: #000000;"><br></span><span style="color: #008080;"> 5</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 6</span> <span style="color: #000000;"></span><span style="color: #0000ff;">using</span><span style="color: #000000;"> </span><span style="color: #0000ff;">namespace</span><span style="color: #000000;"> std;<br></span><span style="color: #008080;"> 7</span> <span style="color: #000000;"></span><span style="color: #0000ff;">using</span><span style="color: #000000;"> </span><span style="color: #0000ff;">namespace</span><span style="color: #000000;"> boost;<br></span><span style="color: #008080;"> 8</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 9</span> <span style="color: #000000;">boost::shared_mutex shr_mutex;<br></span><span style="color: #008080;">10</span> <span style="color: #000000;"><br></span><span style="color: #008080;">11</span> <span style="color: #000000;"></span><span style="color: #808080;">///</span><span style="color: #008000;"> 榪欎釜鏄緟鍔╃被錛岃兘澶熶繚璇乴og_info琚畬鏁寸殑杈撳嚭</span><span style="color: #808080;"><br></span><span style="color: #008080;">12</span> <span style="color: #808080;"></span><span style="color: #0000ff;">class</span><span style="color: #000000;"> safe_log {<br></span><span style="color: #008080;">13</span> <span style="color: #000000;"></span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br></span><span style="color: #008080;">14</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> log(</span><span style="color: #0000ff;">const</span><span style="color: #000000;"> std::</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&</span><span style="color: #000000;"> log_info) {<br></span><span style="color: #008080;">15</span> <span style="color: #000000;">        boost::mutex::scoped_lock </span><span style="color: #0000ff;">lock</span><span style="color: #000000;">(log_mutex);<br></span><span style="color: #008080;">16</span> <span style="color: #000000;">        cout </span><span style="color: #000000;"><<</span><span style="color: #000000;"> log_info </span><span style="color: #000000;"><<</span><span style="color: #000000;"> endl;<br></span><span style="color: #008080;">17</span> <span style="color: #000000;">    }<br></span><span style="color: #008080;">18</span> <span style="color: #000000;"><br></span><span style="color: #008080;">19</span> <span style="color: #000000;"></span><span style="color: #0000ff;">private</span><span style="color: #000000;">:<br></span><span style="color: #008080;">20</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> boost::mutex log_mutex;<br></span><span style="color: #008080;">21</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">22</span> <span style="color: #000000;"><br></span><span style="color: #008080;">23</span> <span style="color: #000000;">boost::mutex safe_log::log_mutex;<br></span><span style="color: #008080;">24</span> <span style="color: #000000;"><br></span><span style="color: #008080;">25</span> <span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> write_process() {<br></span><span style="color: #008080;">26</span> <span style="color: #000000;">    shr_mutex.</span><span style="color: #0000ff;">lock</span><span style="color: #000000;">();<br></span><span style="color: #008080;">27</span> <span style="color: #000000;">    safe_log::log(</span><span style="color: #000000;">"</span><span style="color: #000000;">begin of write_process</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">28</span> <span style="color: #000000;">    safe_log::log(</span><span style="color: #000000;">"</span><span style="color: #000000;">end of write_process</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">29</span> <span style="color: #000000;">    shr_mutex.unlock();<br></span><span style="color: #008080;">30</span> <span style="color: #000000;">}<br></span><span style="color: #008080;">31</span> <span style="color: #000000;"><br></span><span style="color: #008080;">32</span> <span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> read_process() {<br></span><span style="color: #008080;">33</span> <span style="color: #000000;">    shr_mutex.lock_shared();<br></span><span style="color: #008080;">34</span> <span style="color: #000000;">    safe_log::log(</span><span style="color: #000000;">"</span><span style="color: #000000;">begin of read_process</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">35</span> <span style="color: #000000;">    safe_log::log(</span><span style="color: #000000;">"</span><span style="color: #000000;">end of read_process</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">36</span> <span style="color: #000000;">    shr_mutex.unlock_shared();<br></span><span style="color: #008080;">37</span> <span style="color: #000000;">}<br></span><span style="color: #008080;">38</span> <span style="color: #000000;"><br></span><span style="color: #008080;">39</span> <span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main() {<br></span><span style="color: #008080;">40</span> <span style="color: #000000;"><br></span><span style="color: #008080;">41</span> <span style="color: #000000;">    thread_group threads;<br></span><span style="color: #008080;">42</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;"><</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;">; </span><span style="color: #000000;">++</span><span style="color: #000000;"> i) {<br></span><span style="color: #008080;">43</span> <span style="color: #000000;">        threads.create_thread(</span><span style="color: #000000;">&</span><span style="color: #000000;">write_process);<br></span><span style="color: #008080;">44</span> <span style="color: #000000;">        threads.create_thread(</span><span style="color: #000000;">&</span><span style="color: #000000;">read_process);<br></span><span style="color: #008080;">45</span> <span style="color: #000000;">    }<br></span><span style="color: #008080;">46</span> <span style="color: #000000;"><br></span><span style="color: #008080;">47</span> <span style="color: #000000;">    threads.join_all();<br></span><span style="color: #008080;">48</span> <span style="color: #000000;"><br></span><span style="color: #008080;">49</span> <span style="color: #000000;">    ::system(</span><span style="color: #000000;">"</span><span style="color: #000000;">PAUSE</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">50</span> <span style="color: #000000;"><br></span><span style="color: #008080;">51</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">52</span> <span style="color: #000000;">}</span></div> <br> <img src ="http://www.shnenglu.com/thisisbin/aggbug/72417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/thisisbin/" target="_blank">璁告搗鏂?/a> 2009-01-21 13:58 <a href="http://www.shnenglu.com/thisisbin/archive/2009/01/21/72417.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>vs2005涓嬬紪璇戝熀浜巗tlport鐨刡oosthttp://www.shnenglu.com/thisisbin/archive/2008/12/09/68929.html璁告搗鏂?/dc:creator>璁告搗鏂?/author>Tue, 09 Dec 2008 05:22:00 GMThttp://www.shnenglu.com/thisisbin/archive/2008/12/09/68929.htmlhttp://www.shnenglu.com/thisisbin/comments/68929.htmlhttp://www.shnenglu.com/thisisbin/archive/2008/12/09/68929.html#Feedback0http://www.shnenglu.com/thisisbin/comments/commentRss/68929.htmlhttp://www.shnenglu.com/thisisbin/services/trackbacks/68929.html1銆佸畨瑁卻tlport錛屽弬鑰冩枃绔狅細http://www.cnblogs.com/DonLiang/archive/2007/10/13/923143.html
濡傛灉鏄疍EBUG妯″紡璇峰湪欏圭洰鐨勫睘鎬?>閰嶇疆灞炴?>c/c++=>鍛戒護琛岀殑闄勫姞閫夐」澧炲姞/D_STLP_DEBUG

2銆乥oost_1_37_0\tools\jam\stage涓嬭繍琛宐uild.bat緙栬瘧鐢熸垚bjam.exe騫舵嫹璐濆埌boost鏍圭洰褰?br>
3銆佷慨鏀歸厤緗枃浠禸oost_1_37_0\tools\build\v2\user-config.jam錛屽皢涓や釜stlport閫夐」鎵撳紑

4銆乿s2005鍛戒護鎻愮ず涓嬬紪璇戝懡浠わ細bjam stdlib=stlport --build-type=complete install錛屾帴涓嬫潵鏄極闀跨殑絳夊緟錛屽ぇ姒備袱涓皬鏃朵互涓婂惂



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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 | 国产精品v欧美精品v日本精品动漫| 亚洲综合成人在线| 欧美极品影院| 亚洲欧美中文另类| 欧美婷婷六月丁香综合色| 久久综合九色综合欧美狠狠| 久久久久久久久久久久久久一区 | 亚洲欧美国产毛片在线| 欧美国产大片| 亚洲精品在线三区| 美女视频一区免费观看| 久久久久久亚洲精品不卡4k岛国| 欧美精品一区二区视频| 久久久美女艺术照精彩视频福利播放| 国产精品毛片| 欧美好吊妞视频| 欧美国产日本在线| 亚洲大片在线| 欧美另类综合| 欧美一区二区大片| 欧美区一区二区三区| 亚洲区在线播放| 国产美女一区二区| 欧美亚洲一区二区在线| 久久综合伊人77777麻豆| 国模精品娜娜一二三区| 亚洲综合色噜噜狠狠| 欧美在线你懂的| 美国成人直播| 夜夜精品视频一区二区| 国产精品视频免费在线观看| 新67194成人永久网站| 久久免费视频观看| 亚洲成在人线av| 亚洲激情校园春色| 亚洲欧美日韩电影| 国产有码一区二区| 性做久久久久久久久| 欧美在线观看www| 欧美日韩在线视频一区二区| 亚洲夜间福利| 一区二区三区免费观看| 国产欧美日韩在线播放| 欧美在线视频观看| 久久精品免费电影| 黄色一区二区三区| 欧美日本不卡高清| 午夜久久电影网| 日韩亚洲欧美在线观看| 国产精品系列在线| 免费永久网站黄欧美| 亚洲午夜女主播在线直播| 亚洲一区在线看| 欧美三级午夜理伦三级中视频| 久久成人一区二区| 亚洲精品在线看| 亚洲清纯自拍| 久久本道综合色狠狠五月| 亚洲片在线资源| 亚洲激情电影在线| 欧美大学生性色视频| 日韩亚洲欧美一区| 免费在线观看日韩欧美| 亚洲专区欧美专区| 亚洲精品视频在线播放| 黄页网站一区| 久久久国产一区二区三区| 亚洲精品国产精品国自产观看| 中日韩男男gay无套| 一区二区三区在线高清| 欧美人妖在线观看| 欧美va天堂在线| 亚洲全黄一级网站| 欧美91福利在线观看| 久久成人一区| 国模私拍视频一区| 欧美另类在线播放| 欧美88av| 欧美一区日韩一区| 午夜精品久久久久久久久久久久久 | 亚洲国产高清一区| 国产综合在线看| 久久三级福利| 久久久免费av| 日韩午夜电影在线观看| 精品不卡视频| 久久蜜桃香蕉精品一区二区三区| 亚洲女同同性videoxma| 亚洲综合国产激情另类一区| 亚洲精品国产拍免费91在线| 午夜一区二区三区不卡视频| 亚洲高清二区| 欧美日韩在线精品一区二区三区| 免费欧美在线视频| 欧美亚洲三区| 亚洲精品社区| 快播亚洲色图| 亚洲视频在线观看三级| 亚洲色图自拍| 国产精品久久久久婷婷| 国产欧美在线视频| 国产一区二区日韩| 国产精品一区二区三区四区五区| 国产精品久久999| 欧美在线亚洲在线| 久久免费视频网| 亚洲视频一区在线| 亚洲欧洲三级| 欧美aaaaaaaa牛牛影院| 欧美激情小视频| 久久久久久亚洲精品中文字幕 | 亚洲丰满在线| 一本色道久久综合一区| 中文在线资源观看网站视频免费不卡 | 中文一区二区| 亚洲精品免费一区二区三区| 99re热这里只有精品视频| 99精品视频免费观看| 亚洲一区欧美| 欧美 日韩 国产一区二区在线视频 | 一区二区三区视频观看| 欧美国产日韩精品免费观看| 最新国产成人av网站网址麻豆| 日韩午夜av电影| 亚洲国产精品一区二区第一页 | 欧美亚州一区二区三区| 国产精品你懂的在线欣赏| 国产欧美一区二区三区国产幕精品| 裸体一区二区| 久久色中文字幕| 中文一区二区在线观看| 久久久久欧美精品| 欧美午夜宅男影院在线观看| 极品尤物一区二区三区| 99在线|亚洲一区二区| 欧美影院一区| 亚洲人成在线观看一区二区| 日韩亚洲国产精品| 欧美一区在线看| 久久大综合网| 久久亚洲精品一区二区| 亚洲国产精品一区二区尤物区| 亚洲一区日韩在线| 久久精品国产欧美激情| 欧美四级剧情无删版影片| 一区二区三区自拍| 一本到12不卡视频在线dvd| 噜噜噜91成人网| 欧美福利电影网| 欧美成人精品一区| 日韩视频在线一区| 欧美高清视频在线播放| 国产伦精品一区二区三区| 夜夜精品视频| 午夜亚洲福利在线老司机| 蜜桃av综合| 欧美激情视频免费观看| 亚洲视频在线观看视频| 欧美另类69精品久久久久9999| 在线观看一区欧美| 久久视频一区二区| 在线亚洲精品| 久久国产精品久久久久久久久久 | 午夜精品久久久久影视 | 亚洲国语精品自产拍在线观看| 欧美一区二区免费| 国产精品综合| 亚洲成人在线视频网站| 久久久国产成人精品| 夜夜爽av福利精品导航| 欧美视频在线观看 亚洲欧| av不卡免费看| 中文久久精品| 午夜精品国产更新| 亚洲性感激情| 麻豆精品视频| 国产精品午夜在线| 欧美一区二视频| 亚洲第一二三四五区|