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

posts - 297,  comments - 15,  trackbacks - 0
1.volatile有什么用呢?
volatile,只一個變量可能隨時由于外界地變化而變化
例如有兩個線程分別是線程1和線程2
一個全局變量volatile int i = 0;

線程1
執(zhí)行如下代碼
while(i == 0);
printf();
假設(shè)線程1執(zhí)行到 while處,就會反復(fù)執(zhí)行上這條語句

此時線程2執(zhí)行
i = 1;

線程1就會執(zhí)行 printf()

若沒有指定 int i 為 volatile
則當(dāng)線程2執(zhí)行 i = 1;
時,線程1仍然繼續(xù)執(zhí)行while語句

也就是說線程1沒有感知變量i的變化

這是由于編譯器會對代碼進行優(yōu)化,以及將i
變量裝入寄存器的原因,當(dāng)i再內(nèi)存中的值發(fā)生變化時
無法判斷在那個寄存器中有該變量的拷貝,而且不能
同步更新該拷貝

因此需要說明該變量為volatile
這樣,編譯器不會將該變量裝入寄存器,而且不會對
涉及該變量的操作進行優(yōu)化.

下面有個更理論性的解釋:
volatile總是與優(yōu)化有關(guān),編譯器有一種技術(shù)叫做數(shù)據(jù)流分析,分析程序中的變量在哪里賦值、在哪里使用、在哪里失效,分析結(jié)果可以用于常量合并,常 量傳播等優(yōu)化,進一步可以死代碼消除。但有時這些優(yōu)化不是程序所需要的,這時可以用volatile關(guān)鍵字禁止做這些優(yōu)化,volatile的字面含義是 易變的,它有下面的作用:

1 不會在兩個操作之間把volatile變量緩存在寄存器中。在多任務(wù)、中斷、甚至setjmp環(huán)境下,變量可能被其他的程序改變,編譯器 自己無法知道,volatile就是告訴編譯器這種情況。

2 不做常量合并、常量傳播等優(yōu)化,所以像下面的代碼:
volatile int i = 1;
if (i > 0) ...

if的條件不會當(dāng)作無條件真。

3 對volatile變量的讀寫不會被優(yōu)化掉。如果你對一個變量賦值但后面沒用到,編譯器常常可以省略那個賦值操作,然而對Memory Mapped IO的處理是不能這樣優(yōu)化的。

前面有人說volatile可以保證對內(nèi)存操作的原子性,這種說法不大準(zhǔn)確,其一,x86需要LOCK前綴才能在SMP下保證原子性,其二,RISC根本不能對內(nèi)存直接運算,要保證原子性得用別的方法,如atomic_inc。

對于jiffies,它已經(jīng)聲明為volatile變量,我認(rèn)為直接用jiffies++就可以了,沒必要用那種復(fù)雜的形式,因為那樣也不能保證原子性。

你可能不知道在Pentium及后續(xù)CPU中,下面兩組指令

inc jiffies
;;
mov jiffies, %eax
inc %eax
mov %eax, jiffies

作用相同,但一條指令反而不如三條指令快。
posted on 2010-02-03 09:16 chatler 閱讀(210) 評論(0)  編輯 收藏 引用 所屬分類: C++_BASIS
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關(guān),覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久久久久久久 | 精品电影一区| 久久中文久久字幕| 亚洲人妖在线| av成人免费在线观看| 国产精品theporn| 久久gogo国模裸体人体| 欧美韩国一区| 午夜在线观看免费一区| 精品成人国产| 欧美天堂在线观看| 久久久久久国产精品mv| 亚洲精品视频在线| 久久乐国产精品| 洋洋av久久久久久久一区| 国产女主播视频一区二区| 猛男gaygay欧美视频| 一区二区三区免费在线观看| 老司机67194精品线观看| 一本色道精品久久一区二区三区 | 国产精品久久久久aaaa| 久久精品亚洲一区二区| 亚洲乱码精品一二三四区日韩在线| 欧美在线不卡视频| 亚洲国产精品99久久久久久久久| 国产精品成人一区二区网站软件| 久久久久综合网| 亚洲视屏在线播放| 欧美激情国产精品| 久久成人免费电影| 宅男噜噜噜66一区二区66| 一区二区三区在线免费播放| 欧美天天影院| 欧美激情一区二区三区在线视频| 亚洲男女自偷自拍| 亚洲剧情一区二区| 欧美黄色视屏| 久久夜色精品亚洲噜噜国产mv| 亚洲视频在线观看免费| 怡红院精品视频在线观看极品| 国产精品国产自产拍高清av| 欧美激情bt| 久久一区二区三区四区| 午夜久久久久| 亚洲一区制服诱惑| 99亚洲一区二区| 亚洲片区在线| 亚洲国产成人精品久久久国产成人一区| 久久精品官网| 欧美影院在线| 欧美在线视频a| 亚洲欧美区自拍先锋| 亚洲美女尤物影院| 亚洲人体大胆视频| 亚洲七七久久综合桃花剧情介绍| 国语自产精品视频在线看| 国产女同一区二区| 国产精品亚洲综合久久| 国产精品久久久久久久一区探花| 欧美日韩高清在线播放| 欧美精品999| 欧美另类人妖| 欧美日韩精品欧美日韩精品| 欧美二区在线观看| 欧美成人综合一区| 欧美freesex8一10精品| 欧美成人蜜桃| 欧美精品乱人伦久久久久久| 欧美精品激情| 欧美日韩国产限制| 欧美色播在线播放| 国产精品毛片大码女人| 国产精品无人区| 国产一区二三区| 尤物精品在线| 亚洲精品三级| 中文日韩欧美| 欧美亚洲日本国产| 久久aⅴ国产紧身牛仔裤| 久久精品成人一区二区三区| 久久一区欧美| 亚洲第一黄网| aa亚洲婷婷| 欧美一级大片在线观看| 久久久九九九九| 欧美电影美腿模特1979在线看| 欧美巨乳在线观看| 国产精品一区二区久久久| 国模一区二区三区| 91久久精品国产91性色tv| 夜久久久久久| 久久福利精品| 亚洲缚视频在线观看| 在线视频欧美日韩| 性欧美在线看片a免费观看| 久久人人超碰| 欧美日韩三级在线| 国产亚洲在线| av成人动漫| 欧美专区第一页| 亚洲国产欧美不卡在线观看| 亚洲婷婷在线| 免费在线观看成人av| 欧美午夜视频网站| 一区二区三区在线观看视频 | 欧美ed2k| 夜夜嗨av一区二区三区中文字幕| 欧美在线电影| 欧美看片网站| 激情综合亚洲| 亚洲欧美日韩专区| 欧美粗暴jizz性欧美20| 亚洲婷婷在线| 欧美激情国产日韩| 国产偷自视频区视频一区二区| 亚洲日本中文字幕免费在线不卡| 欧美一级精品大片| 亚洲狠狠婷婷| 久久成人精品| 国产精品免费视频xxxx| 亚洲经典在线看| 久久久久九九九| 一区二区久久久久久| 米奇777超碰欧美日韩亚洲| 国产欧美日韩亚洲精品| 一区二区三区四区五区视频| 欧美11—12娇小xxxx| 亚洲天堂男人| 欧美人在线观看| 亚洲国产日韩欧美在线99| 午夜日韩在线| 日韩视频免费大全中文字幕| 免费观看日韩av| 一区二区三区中文在线观看| 欧美在线一二三四区| 亚洲精品乱码久久久久久黑人| 久久久久网站| 国内外成人在线| 欧美在线999| 亚洲一区中文字幕在线观看| 欧美日韩在线高清| 亚洲精品女av网站| 欧美高清成人| 久久在线精品| 亚洲国产毛片完整版 | 亚洲小说欧美另类社区| 欧美日本免费| 日韩视频免费观看高清完整版| 欧美www视频在线观看| 久久国产高清| 黄色免费成人| 久久综合久久综合久久综合| 欧美诱惑福利视频| 国产一区二区精品| 久久久噜噜噜久久久| 欧美在线一二三区| 国内精品视频在线播放| 久久久久久久综合色一本| 午夜久久久久| 狠狠色噜噜狠狠色综合久| 久久麻豆一区二区| 久久男人资源视频| 91久久精品一区二区别| 亚洲成人在线视频网站| 欧美韩日一区二区三区| 一区二区av| 亚洲视频axxx| 国产亚洲aⅴaaaaaa毛片| 久久久久久久一区二区| 久久九九国产精品怡红院| 韩国av一区二区| 欧美国产国产综合| 欧美欧美天天天天操| 亚洲一区免费视频| 亚洲自拍偷拍网址| 韩日精品中文字幕| 欧美激情一区二区三区蜜桃视频 | 国产精品乱码| 久久精品av麻豆的观看方式| 久久免费视频网站| 亚洲精品综合久久中文字幕| 一本色道久久综合精品竹菊 | 亚洲欧洲99久久| 国外视频精品毛片| 亚洲第一区在线观看| 欧美视频在线免费看| 欧美在线免费视屏| 麻豆成人综合网| 亚洲一区亚洲二区| 久久久久国产精品厨房| 99av国产精品欲麻豆| 亚洲免费在线观看视频| 精品成人国产| 99视频精品全部免费在线| 国产亚洲综合性久久久影院| 亚洲黄色三级|