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

volatile

盡管C和C++標(biāo)準(zhǔn)對(duì)于線程都明顯的“保持沉默”,但它們以volatile關(guān)鍵字的形式,確實(shí)為多線程保留了一點(diǎn)特權(quán)。
 就象大家更熟悉的const一樣,volatile是一個(gè)類型修飾符(type modifier)。
它是被設(shè)計(jì)用來(lái)修飾被不同線程訪問(wèn)和修改的變量。
如果沒(méi)有volatile,基本上會(huì)導(dǎo)致這樣的結(jié)果:要么無(wú)法編寫(xiě)多線程程序,要么編譯器失去大量?jī)?yōu)化的機(jī)會(huì)。
class Gadget
 

publicvoid Wait() 

while (!flag_) 

Sleep(
1000); 
// sleeps for 1000 milliseconds 
}
 
}
 
void Wakeup() 

flag_ 
= true
}

  
private:
 
bool flag_; 
}

上面代碼中Gadget::Wait的目的是每過(guò)一秒鐘去檢查一下flag_成員變量,當(dāng)flag_被另一個(gè)線程設(shè)為true時(shí),該函數(shù)才會(huì)返回。
然而,這個(gè)Wait函數(shù)是錯(cuò)誤的。
假設(shè)編譯器發(fā)現(xiàn)Sleep(1000)是調(diào)用一個(gè)外部的庫(kù)函數(shù),它不會(huì)改變成員變量flag_,那么編譯器就可以斷定它可以把flag_緩存在寄存器中,以后可以訪問(wèn)該寄存器來(lái)代替訪問(wèn)較慢的主板上的內(nèi)存。
這對(duì)于單線程代碼來(lái)說(shuō)是一個(gè)很好的優(yōu)化,但是在現(xiàn)在這種情況下,
它破壞了程序的正確性:當(dāng)你調(diào)用了某個(gè)Gadget的Wait函數(shù)后,即使另一個(gè)線程調(diào)用了Wakeup,Wait還是會(huì)一直循環(huán)下去。
這是因?yàn)閒lag_的改變沒(méi)有反映到緩存它的寄存器中去。編譯器的優(yōu)化未免有點(diǎn)太……樂(lè)觀了。

在大多數(shù)情況下,把變量緩存在寄存器中是一個(gè)非常有價(jià)值的優(yōu)化方法,如果不用的話很可惜。
C和C++給你提供了顯式禁用這種緩存優(yōu)化的機(jī)會(huì)。如果你聲明變量是使用了volatile修飾符,
編譯器就不會(huì)把這個(gè)變量緩存在寄存器里——每次訪問(wèn)都將去存取變量在內(nèi)存中的實(shí)際位置。

這樣你要對(duì)Gadget的Wait/Wakeup做的修改就是給flag_加上正確的修飾:

class Gadget 

public
private
volatile bool flag_;
 }

posted on 2008-10-13 17:27 Randy 閱讀(199) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(3)

隨筆檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区二区久久久| 欧美一区二区三区视频免费| 久久全国免费视频| 欧美有码在线视频| 久久成人一区二区| 久久综合给合久久狠狠狠97色69| 久久成人这里只有精品| 久久综合国产精品| 欧美日韩免费网站| 国产精品久久一级| 激情视频一区二区三区| 亚洲精品一品区二品区三品区| 一区二区三区日韩在线观看| 午夜精品一区二区三区在线视| 久久久成人精品| 亚洲国产婷婷综合在线精品| 亚洲观看高清完整版在线观看| 夜夜嗨av一区二区三区| 欧美一区二区三区另类| 美女精品视频一区| 国产精品一区二区男女羞羞无遮挡| 国产综合色产| 亚洲一区成人| 欧美成人精精品一区二区频| 亚洲美女在线一区| 久久久久久91香蕉国产| 欧美午夜免费电影| 1024亚洲| 久久国产精品72免费观看| 亚洲经典自拍| 久久成人18免费网站| 欧美日韩在线三级| 亚洲国产女人aaa毛片在线| 午夜影视日本亚洲欧洲精品| 亚洲国产mv| 久久久不卡网国产精品一区| 欧美性理论片在线观看片免费| 亚洲第一色中文字幕| 久久精品av麻豆的观看方式| 一区二区三区四区五区精品| 欧美高清自拍一区| 亚洲电影欧美电影有声小说| 欧美在线综合| 亚洲一区免费网站| 国产精品久久波多野结衣| 亚洲日本va午夜在线电影| 久久综合婷婷| 午夜一区在线| 国产精品一区二区欧美| 亚洲一级黄色| 99国产精品国产精品久久| 欧美福利视频一区| 亚洲日本理论电影| 亚洲国产高清一区| 欧美激情国产高清| 一区二区三区四区五区在线| 亚洲美女中文字幕| 久久精品亚洲精品| 欧美a级片一区| 亚洲综合日韩| 国产精品美女久久久久久久| 亚洲一区二区在线免费观看| 亚洲精品久久久久久久久久久久| 美女主播一区| 亚洲精品乱码久久久久久久久| 欧美**人妖| 欧美xx69| 亚洲图片欧洲图片av| av不卡在线| 国产精品亚洲产品| 久久久www成人免费无遮挡大片| 久久gogo国模裸体人体| 伊人狠狠色j香婷婷综合| 男女激情视频一区| 欧美电影免费观看网站 | 国产一区白浆| 久热国产精品视频| 久久综合狠狠综合久久综合88 | 久久久99国产精品免费| 在线免费精品视频| 亚洲国产日韩欧美一区二区三区| 欧美激情视频在线播放 | 国产精品午夜视频| 久久久久女教师免费一区| 久久久久91| 一本色道久久综合精品竹菊| 一区二区日韩欧美| 韩国av一区二区三区四区| 欧美福利视频在线| 国产精品videosex极品| 久久久久久综合| 欧美日韩色一区| 久久在线免费观看视频| 欧美激情 亚洲a∨综合| 亚洲欧美精品suv| 美女国产精品| 欧美在线观看网址综合| 蜜桃av一区二区在线观看| 亚洲综合国产| 免费欧美高清视频| 欧美一区亚洲一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 一区二区免费在线观看| 欧美在线观看你懂的| 一本色道久久综合亚洲二区三区| 亚洲欧美一区二区精品久久久| 91久久综合亚洲鲁鲁五月天| 亚洲一区三区电影在线观看| 亚洲三级影片| 久久精品二区| 午夜伦理片一区| 欧美精品一区视频| 免费不卡在线观看av| 国产精品亚洲精品| 亚洲精品专区| 蜜臀91精品一区二区三区| 国产精品女主播一区二区三区| 免费日韩成人| 国产视频欧美| 亚洲午夜一区| 亚洲午夜一级| 欧美精品乱码久久久久久按摩| 毛片一区二区三区| 国模私拍视频一区| 午夜精品一区二区三区电影天堂| 亚洲视频欧美在线| 欧美激情综合网| 亚洲成色最大综合在线| 午夜久久黄色| 欧美精品国产精品| 欧美国产日产韩国视频| 国产一区在线免费观看| 亚洲宅男天堂在线观看无病毒| 亚洲一级二级在线| 国产精品www.| 亚洲免费在线播放| 久久国产精品一区二区| 国产日韩精品一区观看| 午夜精品一区二区三区四区| 欧美一区二区三区视频免费| 国产精品欧美在线| 亚洲欧美国产精品va在线观看 | 欧美一区二区三区免费观看视频| 午夜精品久久久久久久久久久| 欧美色区777第一页| 亚洲午夜在线观看| 久久精品成人| 在线日韩日本国产亚洲| 麻豆久久精品| 亚洲人成人99网站| 一区二区三区导航| 国产精品高清在线| 午夜伦理片一区| 欧美.www| 一区二区三区www| 国产麻豆成人精品| 久久久999国产| 亚洲福利视频一区| 亚洲一区视频| 国产综合欧美| 欧美激情一区二区三区四区| 一本一本久久a久久精品综合麻豆| 午夜精品三级视频福利| 精东粉嫩av免费一区二区三区| 欧美/亚洲一区| 亚洲伊人一本大道中文字幕| 美女精品一区| 亚洲午夜在线观看视频在线| 国产午夜精品一区理论片飘花| 久久综合999| 亚洲视频观看| 亚洲二区视频| 久久久久一区| 亚洲一区二区在线免费观看视频| 激情久久久久久| 欧美日韩亚洲一区二区| 久久久久国产精品www| 日韩视频一区二区在线观看| 久久免费精品视频| 亚洲男人天堂2024| 亚洲三级毛片| 激情欧美日韩| 国产麻豆午夜三级精品| 可以看av的网站久久看| 国产色婷婷国产综合在线理论片a| 久热这里只精品99re8久| 亚洲私人影院在线观看| 欧美激情一区二区三区全黄| 久久成人在线| 亚洲婷婷在线| 99精品欧美一区二区三区| 黄色日韩网站视频| 国产精品亚洲成人| 欧美日韩专区| 欧美区一区二| 欧美成人蜜桃| 裸体一区二区| 久久午夜视频| 久久精品综合| 久久精品亚洲乱码伦伦中文 |