線程安全

原子性
操作對(duì)于其他線程是不可分割的(參見數(shù)據(jù)庫(kù)的事務(wù))
updateHostInfo(ip,port){
setIP(ip)
setPort(port)
}
上述操作就是非原子性操作

實(shí)現(xiàn)原子性的兩種方法:
1.使用鎖(lock)茴她,軟件鎖寻拂;
2.利用處理器提供的CAS(Compare-And-Swap)指令,硬件鎖丈牢;

Java對(duì)于基本類型變量祭钉,long/double的寫操作不保證原子性。使用volatile關(guān)鍵字保證原子性

可見性
一個(gè)線程對(duì)共享變量的修改應(yīng)該讓其他后續(xù)會(huì)使用該變量的線程得到更新的結(jié)果己沛。 對(duì)于不同處理器的更新慌核,可能僅僅被寫入了高速緩存而不是內(nèi)存距境,這對(duì)于其他處理器是不可見的,需要進(jìn)行緩存同步垮卓。使用volatile關(guān)鍵字保證垫桂。

JLS Java語(yǔ)言規(guī)范保證,
父線程在啟動(dòng)子線程之前對(duì)共享變量的更新對(duì)于子線程是可見的粟按;
一個(gè)線程終止后該線程對(duì)共享變量的更新對(duì)于調(diào)用該線程join方法的線程是可見的诬滩;

有序性
重排序
編譯器和處理器對(duì)源代碼在單線程運(yùn)行環(huán)境下的優(yōu)化。
指令重排序:源代碼與程序順序不一致(編譯器 javac)灭将、程序順序與執(zhí)行順序不一致(JIT,處理器)疼鸟。
存儲(chǔ)子系統(tǒng)重排序:處理器感知順序與上述三種順序不一致(高速緩存,寫緩沖器)庙曙。

上下文切換和資源征用空镜。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捌朴,隨后出現(xiàn)的幾起案子姑裂,更是在濱河造成了極大的恐慌,老刑警劉巖男旗,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件察皇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡矾缓,警方通過(guò)查閱死者的電腦和手機(jī)稻爬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門桅锄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人友瘤,你說(shuō)我怎么就攤上這事∈叮” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵甥桂,是天一觀的道長(zhǎng)格嘁。 經(jīng)常有香客問(wèn)我廊移,道長(zhǎng),這世上最難降的妖魔是什么懂诗? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任苗膝,我火速辦了婚禮,結(jié)果婚禮上离唐,老公的妹妹穿的比我還像新娘问窃。我一直安慰自己,他們只是感情好嵌戈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布熟呛。 她就那樣靜靜地躺著尉姨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪九府。 梳的紋絲不亂的頭發(fā)上馋没,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天降传,我揣著相機(jī)與錄音,去河邊找鬼。 笑死笔链,一個(gè)胖子當(dāng)著我的面吹牛腮猖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坪创,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼姐赡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了依沮?” 一聲冷哼從身側(cè)響起枪狂,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎州疾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體列粪,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岂座,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年费什,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸳址。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稿黍,死狀恐怖崩哩,靈堂內(nèi)的尸體忽然破棺而出言沐,到底是詐尸還是另有隱情,我是刑警寧澤险胰,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布起便,位于F島的核電站,受9級(jí)特大地震影響榆综,放射性物質(zhì)發(fā)生泄漏铸史。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一陋守、第九天 我趴在偏房一處隱蔽的房頂上張望利赋。 院中可真熱鬧,春花似錦媚送、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至涵防,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間偏瓤,已是汗流浹背椰憋。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工橙依, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留硕旗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓卵渴,卻偏偏與公主長(zhǎng)得像鲤竹,于是被迫代替她去往敵國(guó)和親昔榴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容