锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美国产日本在线,国产一区二区三区在线免费观看 ,欧美影院在线播放http://m.shnenglu.com/Error/category/20456.htmlzh-cnSun, 31 Mar 2013 15:09:32 GMTSun, 31 Mar 2013 15:09:32 GMT60boost::atomic 瀹炵幇 spinlockhttp://m.shnenglu.com/Error/archive/2013/03/31/198988.htmlEnicEnicSun, 31 Mar 2013 13:49:00 GMThttp://m.shnenglu.com/Error/archive/2013/03/31/198988.htmlhttp://m.shnenglu.com/Error/comments/198988.htmlhttp://m.shnenglu.com/Error/archive/2013/03/31/198988.html#Feedback0http://m.shnenglu.com/Error/comments/commentRss/198988.htmlhttp://m.shnenglu.com/Error/services/trackbacks/198988.html
鍏堢湅涓媌oost緇欑殑渚嬪瓙錛屾垜瑙夊緱鏈夐棶棰橈細

#include
<boost/atomic.hpp> class spinlock { private: typedef enum {Locked, Unlocked} LockState; boost::atomic<LockState> state_; public: spinlock() : state_(Unlocked) {} void lock() {
// 鍙兘榪欓噷鐨刡oost::memory_order_acquire鏈夊師瀛愭搷浣滅殑鏁堟灉鍚э紝鍋朵笉鏄緢鐞嗚В錛屼笉榪囨垜瑙夊緱榪欓噷搴旇鐢╟ae鎿嶄綔鎵嶅 while (state_.exchange(Locked, boost::memory_order_acquire) == Locked) { /* busy-wait */ } } void unlock() {
// 榪欓噷閮界洿鎺ュ啓涓嶅仛媯鏌ヤ簡錛屾洿鍔犻毦浠ョ悊瑙? state_.store(Unlocked, boost::memory_order_release); } };

鏈夊彲鑳芥槸鎴戜笉鐞嗚В鍚庨潰鐨勫唴瀛樿闂弬鏁扮殑鎰忎箟錛岀粰涓嬫垜鑷繁鐨勫疄鐜幫細
class CESpinLock : boost::noncopyable
{
private:
    typedef 
enum {emUnlocked = 0, emLocked} EM_LockState;

public:
    CESpinLock() : m_atomicState(emLocked)
    {
    }

public:
    
void lock()
    {
        EM_LockState state 
= emUnlocked;
        
while(false == m_atomicState.compare_exchange_strong(state, emLocked))
        {
            state 
= emUnlocked;
        }
    }

    
void unlock()
    {
        EM_LockState state 
= emLocked;
        
while(false == m_atomicState.compare_exchange_strong(state, emUnlocked))
        {
            state 
= emLocked;
        }
    }

private:
    boost::atomic
<EM_LockState> m_atomicState;
};


鍙互閫傚綋鐨勫湪false閲岃竟鍔犱竴鐐箂leep鎿嶄綔鎰熻銆?br />
榪樻湁涓鐐瑰氨鏄笉澶縺鐑堣繖閲岀殑cae鎿嶄綔鍒嗕袱縐?strong鍜寃eak

bool compare_exchange_weak(T & expected, T desired, memory_order success_order, memory_order failure_order)

Compare current value with expected, change it to desired if matches. Returns true if an exchange has been performed, and always writes the previous value back in expected. May fail spuriously, so must generally be retried in a loop.

bool compare_exchange_strong(T & expected, T desired, memory_order order)

Compare current value with expected, change it to desired if matches. Returns true if an exchange has been performed, and always writes the previous value back in expected

瀹炲湪涓嶇悊瑙?nbsp;May fail spuriously, so must generally be retried in a loop.鐨勬剰涔夛紝涓嶈繃鐪嬩簡浠g爜錛屽湪win32鐨勫疄鐜頒笂錛寃eak鏄皟鐢ㄤ簡stong瀹炵幇鐨勩?br />


 VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:49:07
atomic鐨?nbsp;compare_exchange_weak
compare_exchange_weak
鏈夊暐鍖哄埆

姹傝В閲?br />vczh.Iskandar<vczh@163.com>  21:49:27
涓嶆槸涓鏍峰悧
寰¤櫄鑸熷寳(314969051)  21:49:40
鏀逛唬鐮佷腑錛?nbsp;ing
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:49:49
Windows涓婄殑瀹炵幇鏄竴鏍風殑
May fail spuriously, so must generally be retried in a loop. 
榪欎竴鍙ユ庝箞鐞嗚В鍛?br />vczh.Iskandar<vczh@163.com>  21:50:07
compare_exchange_weak
compare_exchange_weak
璐ㄩ噺鏈澶czh綺?402740419)  21:50:14
compare_exchange_weak
compare_exchange_weak

VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:50:16
strong

compare_exchange_strong
榪樻湁涓涓棶棰?br />class spinlock {
private:
  typedef enum {Locked, Unlocked} LockState;
  boost::atomic<LockState> state_;

public:
  spinlock() : state_(Unlocked) {}

  void lock()
  {
    while (state_.exchange(Locked, boost::memory_order_acquire) == Locked) {
      /* busy-wait */
    }
  }
  void unlock()
  {
    state_.store(Unlocked, boost::memory_order_release);
  }
};

boost渚嬪瓙緇欑殑 spinloc
鎬庝箞鏄繖鏍峰疄鐜扮殑
閮芥病鏈夌敤cae鎿嶄綔
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:51:20
unlock閮界洿鎺ョ敤store浜?br />vczh.Iskandar<vczh@163.com>  21:51:50
涓嶇敤compare
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:51:59
 涓哄暐
鏃犳硶鐞嗚В
vczh.Iskandar<vczh@163.com>  21:52:34
鎯寵瑙i噴濂介夯鐑?br />VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:52:40
榪樻湁鍦╓indows涓?br />boost::memory_order_acquire
榪欎釜鍙傛暟涔熸病鐢?br />璨屼技
姹俈紲炶В閲?br />榪樻湁strong鍜寃eak鐨勫尯鍒?br />璐ㄩ噺鏈澶czh綺?402740419)  21:54:46
spinlock鏈潵灝變笉鐢╟ompare鍟?br />鐩存帴swap灝辮浜?br />while (state_.swap(1) == 1);
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:56:24
浣犵湅鍋囪鐜板湪鏄痩ock鐘舵?br />boost鐨勫疄鐜版槸鏃犳潯浠跺惂lock鎹㈡垚unlock
濡傛灉鏄戶緇璴ock 浠栬繕鏄痩ock
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:58:08
鍙瑕侀伩鍏?nbsp;閲嶅叆鍚?br />lock涔嬪墠媯鏌ヤ竴涓?br />寰¤櫄鑸熷寳(314969051)  22:00:03
灝忓悍浣犵殑涔︽敹鍒版病鏈?br />璐ㄩ噺鏈澶czh綺?402740419)  22:03:17
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  21:58:08
鍙瑕侀伩鍏?nbsp;閲嶅叆鍚?br />lock涔嬪墠媯鏌ヤ竴涓?br />
浣犵敤閿欎簡浠栦笉綆′綘
灝辨槸榪欎釜鎰忔?br />鍚屼竴涓嚎紼媗ock涓ゆ涔熶細姝婚攣
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  22:05:05
鍘熸潵鏄繖鏍?br />
浣嗘槸浠杔ock鐨勬椂鍊欎笉媯鏌ワ紝涔熶細瀵艱嚧涓や釜綰跨▼鍚屾椂lock鍚э紵
while (state_.exchange(Locked, boost::memory_order_acquire) == Locked) {
      /* busy-wait */
    }

璐ㄩ噺鏈澶czh綺?402740419)  22:05:18
涓嶄細鍟?br />鍋囪A榪涚▼鍏堟潵浜嗭紝lock鎴愬姛浜?br />VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  22:05:33
鎬庤兘鐞嗚В錛屾垜鐞嗚В鍜岀洿鎺ヨ祴鍊兼槸涓鏍?br />鎴戝啀鍘葷湅
璐ㄩ噺鏈澶czh綺?402740419)  22:05:40
榪欎笉鏄鍒?br />鏄痚xchange
swap
鍙︿竴涓嚎紼媏xchange灝變細鏀跺埌Locked
閭d箞鍙︿竴涓嚎紼嬪氨浼歸hile寰幆錛岀洿鍒板師鏉ョ嚎紼嬬粰璁劇疆浜哢nlocked
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  22:06:47
Exchange current value with new_value, returning current value 

exchange鏄妸鏂板煎啓鍏ユ棫鍊艱繑鍥炰箞錛?nbsp; 涓嶆槸榪欐牱涔堬紵
鎴戞湁鐐圭悊瑙d簡
璐ㄩ噺鏈澶czh綺?402740419)  22:07:46
瀵瑰晩錛屾柊鍊煎啓鍏ワ紝鏃у艱繑鍥烇紝鍘熷瓙鐨?br />VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  22:07:59
灝辨槸璇村啓鍏ヤ篃鏄啓鍏ョ殑lock錛?nbsp;涓嶅獎鍝嶄箣鍓嶇殑lock
褰撳墠綰跨▼鎷垮埌鏃у兼鏌ユ槸涓嶆槸lock鐘舵侊紝濡傛灉鏄氨緇х畫灝濊瘯鐩村埌涓嶆槸
璐ㄩ噺鏈澶czh綺?402740419)  22:08:00
鎵浠ュ彧浼氭湁涓涓嚎紼嬭繑鍥濽nlocked錛屽彟涓涓嚎紼嬩細鏀跺埌涔嬪墠綰跨▼璁劇疆鐨凩ocked
VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  22:08:11
 鍙楁暀浜?br />璐ㄩ噺鏈澶czh綺?402740419)  22:08:13
鎭?br />VCZH.綺変笣鏁扮粍[0]<errorcpp@qq.com>  22:08:20
鎴戣創鍒板崥瀹笂鍘?nbsp;



Enic 2013-03-31 21:49 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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网站| 欧美成人免费全部| 91久久中文字幕| 日韩视频免费观看高清完整版| av72成人在线| 性8sex亚洲区入口| 久久人人爽人人| 欧美日韩国产色视频| 国产精品欧美日韩一区| 亚洲免费大片| 亚洲一区国产视频| 久久精品国产久精国产一老狼| 久久久久se| 欧美日韩国产综合新一区| 国产精品网站一区| 亚洲黄色一区二区三区| 9色精品在线| 欧美一级黄色网| 欧美高清hd18日本| 亚洲一区视频在线| 欧美成人免费全部| 国产亚洲激情视频在线| 亚洲人线精品午夜| 久久精品国产一区二区三| 亚洲国产美女| 午夜精品福利电影| 欧美国产日韩在线| 国产在线不卡视频| 亚洲一区亚洲| 最近中文字幕mv在线一区二区三区四区| 一区二区久久久久久| 久久男女视频| 国产欧美日韩精品在线| 亚洲免费观看高清完整版在线观看| 亚洲欧美国产毛片在线| 亚洲国产精品欧美一二99| 久久高清国产| 国产精品入口66mio| 亚洲视频在线观看一区| 亚洲国产精品成人久久综合一区| 香蕉av福利精品导航| 欧美日韩在线视频观看| 在线观看视频一区二区| 久久精品人人做人人爽| 一本到高清视频免费精品| 欧美精品久久99| 亚洲欧洲综合| 亚洲国产第一页| 免费在线观看成人av| 禁久久精品乱码| 久久亚洲二区| 久久精彩免费视频| 国产在线视频不卡二| 欧美亚洲三区| 亚洲欧美一区二区原创| 国产精品自拍三区| 久久国产精品黑丝| 香蕉av福利精品导航| 国产视频精品网| 久久久7777| 久久国产精品黑丝| 在线精品亚洲一区二区| 美女任你摸久久| 欧美aa国产视频| 日韩视频在线你懂得| 亚洲国内精品| 欧美三级在线视频| 香蕉精品999视频一区二区| 亚洲综合电影一区二区三区| 国产偷久久久精品专区| 亚洲精品乱码久久久久久按摩观| 久久人人97超碰精品888| 欧美一区二区黄| 尤物九九久久国产精品的特点| 久久精品观看| 久久男人资源视频| 亚洲深夜影院| 欧美影院精品一区| 在线国产亚洲欧美| 亚洲精品国产精品国产自| 欧美色另类天堂2015| 欧美在线免费观看亚洲| 久久永久免费| 亚洲视频免费在线| 午夜在线电影亚洲一区| 在线欧美一区| 亚洲视频在线观看网站| 国内久久精品视频| 亚洲精品日韩精品| 国产在线观看一区| 日韩五码在线| 136国产福利精品导航| 日韩亚洲精品电影| 精品999网站| 中文在线一区| 亚洲高清视频一区| 亚洲午夜一区| 亚洲精品久久久久中文字幕欢迎你| 99精品欧美一区二区三区| 国内激情久久| 亚洲一区中文| 99re视频这里只有精品| 欧美在线看片| 性色av一区二区三区红粉影视| 另类成人小视频在线| 午夜精品成人在线视频| 欧美福利电影在线观看| 久久精品综合| 国产精品美女www爽爽爽| 欧美激情片在线观看| 国产精品一区二区在线| 亚洲精品黄色| 亚洲国产一区二区三区高清| 欧美一区二区精品在线| 亚洲愉拍自拍另类高清精品| 欧美 亚欧 日韩视频在线| 久久久久久久性| 国产精品女人久久久久久| 亚洲人成艺术| 亚洲精品欧美日韩| 久久久久网址| 久热精品在线| 国内精品福利| 久久精品99国产精品日本 | 国产精品入口日韩视频大尺度| 亚洲欧洲精品成人久久奇米网| 亚洲国产精品久久精品怡红院| 欧美影视一区| 老**午夜毛片一区二区三区| 国产一区91| 久久精品国产亚洲a| 久久久久在线| 欧美在线网址| 久久久亚洲午夜电影| 国产午夜精品在线观看| 欧美在线3区| 久久亚洲美女| 亚洲国产精品第一区二区| 免费不卡视频| 亚洲三级电影全部在线观看高清| 亚洲免费成人av电影| 欧美日韩成人| 一区二区三区国产在线观看| 一本色道久久88精品综合| 欧美日韩国产综合久久| 一本久道久久综合婷婷鲸鱼| 在线性视频日韩欧美| 欧美午夜片欧美片在线观看| 亚洲一区二区毛片| 久久夜色精品国产欧美乱| 亚洲黄色一区| 欧美性jizz18性欧美| 西瓜成人精品人成网站| 美女成人午夜| 夜夜爽99久久国产综合精品女不卡 | 亚洲资源av| 久久久一二三| 亚洲日本成人女熟在线观看| 欧美大学生性色视频| 日韩特黄影片| 久久精品最新地址| 亚洲精品乱码久久久久久黑人| 欧美国产精品日韩| 亚洲午夜影视影院在线观看| 久久久久久久一区| 亚洲伦理在线| 国产日韩在线视频| 欧美精品久久久久久久免费观看 | 亚洲视频高清| 国产一区二区久久| 欧美二区在线| 香蕉久久夜色精品国产使用方法| 久久午夜视频| 亚洲一区二区三区午夜| 在线观看亚洲a| 国产精品久久中文| 欧美jizzhd精品欧美喷水| 亚洲一区精品电影| 亚洲第一久久影院| 欧美在线影院| 在线视频你懂得一区| 影音先锋中文字幕一区| 欧美性视频网站| 麻豆av福利av久久av| 亚洲已满18点击进入久久| 欧美成人自拍| 羞羞答答国产精品www一本| 亚洲欧洲一区二区三区久久| 国产精品尤物福利片在线观看| 久久欧美中文字幕| 午夜精品福利电影| 一区二区三区四区五区在线| 欧美www视频在线观看| 久久久不卡网国产精品一区| 亚洲图中文字幕| 日韩视频免费观看高清完整版|