二 線程安全

編寫線程安全的代碼的核心是:

對(duì)可變共享的狀態(tài)訪問(wèn)的管理藕筋。

三種(多個(gè)線程對(duì)同一個(gè)可變的狀態(tài)變量沒(méi)有做合適的同步時(shí) 出現(xiàn)錯(cuò)誤的解決方法):
  1. 不共享
  2. 不修改
  3. 加同步 一般前兩個(gè)是避免不了的時(shí)候加鎖显蝌。

需要考慮線程安全的情況
對(duì)于可能被多個(gè)線程同時(shí)訪問(wèn)的可變狀態(tài)變量,在訪問(wèn)它的時(shí)候都要持有同一個(gè)鎖。
一般的加鎖機(jī)制是 把可變共享變量封裝在一個(gè)對(duì)象中羊苟,然后對(duì)本對(duì)象加鎖祭阀。例如Vector類

同步策略:
  1. 內(nèi)置鎖(可重入)傻工,
  2. 讀寫鎖(復(fù)制)
  3. Lock
  4. Collections獲取
  5. 并發(fā)容器 原子操作 AtomicLong

原子性

原子類 AtomicLong等 作用:降低使用synchronized 并發(fā)。提升性能咙冗。

比如Vector類是同步類沾歪。
但是執(zhí)行復(fù)合操作的時(shí)候并不能保證線程安全。此時(shí)需要使用鎖雾消。

復(fù)合操作 和 多線程執(zhí)行順序(競(jìng)態(tài)條件)問(wèn)題 引發(fā)的無(wú)法使用原子性類解決

復(fù)合操作情況下 原子操作也會(huì)出現(xiàn)問(wèn)題
需要使用鎖

鎖(原子操作無(wú)法實(shí)現(xiàn)的解決方法)

鎖灾搏,用來(lái)鎖住可變共享 狀態(tài)。
有一個(gè)例子是使用了鎖立润,但是因?yàn)椴皇擎i的可變共享變量狂窑,而是鎖的本對(duì)象(本對(duì)象并沒(méi)有封裝這個(gè)可變共享變量)導(dǎo)致線程不安全。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末桑腮,一起剝皮案震驚了整個(gè)濱河市泉哈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌破讨,老刑警劉巖丛晦,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異提陶,居然都是意外死亡烫沙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門隙笆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锌蓄,“玉大人,你說(shuō)我怎么就攤上這事仲器∶郝剩” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵乏冀,是天一觀的道長(zhǎng)蝶糯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)辆沦,這世上最難降的妖魔是什么昼捍? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮肢扯,結(jié)果婚禮上妒茬,老公的妹妹穿的比我還像新娘。我一直安慰自己蔚晨,他們只是感情好乍钻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布肛循。 她就那樣靜靜地躺著,像睡著了一般银择。 火紅的嫁衣襯著肌膚如雪多糠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天浩考,我揣著相機(jī)與錄音夹孔,去河邊找鬼。 笑死析孽,一個(gè)胖子當(dāng)著我的面吹牛搭伤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播袜瞬,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼怜俐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了邓尤?” 一聲冷哼從身側(cè)響起佑菩,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎裁赠,沒(méi)想到半個(gè)月后殿漠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佩捞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年绞幌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片一忱。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡莲蜘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帘营,到底是詐尸還是另有隱情票渠,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布芬迄,位于F島的核電站问顷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏禀梳。R本人自食惡果不足惜杜窄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望算途。 院中可真熱鬧塞耕,春花似錦、人聲如沸嘴瓤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至筛谚,卻和暖如春胆胰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刻获。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瞎嬉,地道東北人蝎毡。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像氧枣,于是被迫代替她去往敵國(guó)和親沐兵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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

  • 上一篇文章中介紹了多線程的基本使用便监,這一篇文章重點(diǎn)介紹線程的安全問(wèn)題扎谎。 四、Java中線程的五種狀態(tài) 新建狀態(tài)(N...
    地球是猿的閱讀 676評(píng)論 0 1
  • 一.線程安全性 線程安全是建立在對(duì)于對(duì)象狀態(tài)訪問(wèn)操作進(jìn)行管理烧董,特別是對(duì)共享的與可變的狀態(tài)的訪問(wèn) 解釋下上面的話: ...
    黃大大吃不胖閱讀 842評(píng)論 0 3
  • 從三月份找實(shí)習(xí)到現(xiàn)在毁靶,面了一些公司,掛了不少逊移,但最終還是拿到小米预吆、百度、阿里胳泉、京東拐叉、新浪、CVTE扇商、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,254評(píng)論 11 349
  • 第三章 Java內(nèi)存模型 3.1 Java內(nèi)存模型的基礎(chǔ) 通信在共享內(nèi)存的模型里凤瘦,通過(guò)寫-讀內(nèi)存中的公共狀態(tài)進(jìn)行隱...
    澤毛閱讀 4,356評(píng)論 2 22
  • 我心中永遠(yuǎn)堅(jiān)強(qiáng)、勇敢的雜草杉菜(大S) 西方曾經(jīng)有位哲人說(shuō)過(guò)案铺, 女人啊蔬芥, 華麗的金鉆,閃耀的珠光控汉, 為你贏得了女皇...
    keqing閱讀 298評(píng)論 0 0