synchronized 原子性

  • 不可中斷鎖犬绒,適合競(jìng)爭(zhēng)不激烈,可讀性好

  • 修改代碼塊:大括號(hào)括起來(lái)的代碼徒探,作用于調(diào)用的對(duì)象

  • 修飾方法:整個(gè)方法葬荷,作用于調(diào)用的對(duì)象

  • 修飾靜態(tài)方法:整個(gè)靜態(tài)方法,作用于所有對(duì)象

  • 修飾類:括號(hào)括起來(lái)的部分岖寞,作用于所有對(duì)象

    代碼塊和方法屬于同一類(交替打印數(shù)字問(wèn)題)抡四,靜態(tài)方法和類屬于同一類(打印完一個(gè)后在打印第二個(gè))

Lock

  • 可中斷鎖,多樣化同步仗谆,適合競(jìng)爭(zhēng)時(shí)能維持常態(tài)

Atomic

  • 競(jìng)爭(zhēng)激烈時(shí)也能維持常態(tài)指巡,比Lock性能好;只能同步一個(gè)值

可見(jiàn)性

導(dǎo)致共享變量在線程間不可見(jiàn)的原因

  • 線程交叉執(zhí)行
  • 重排序結(jié)合線程交叉執(zhí)行
  • 共享變量更新后的值沒(méi)有在工作內(nèi)存與主內(nèi)存間及時(shí)更新

JMM關(guān)于synchronized的兩條規(guī)定

  • 線程解鎖前隶垮,必須把共享內(nèi)存的最新值刷新到主內(nèi)存
  • 線程加鎖時(shí)藻雪,將清空工作內(nèi)存中共享變量的值,從而使用共享變量時(shí)需要從主內(nèi)存中重新讀取最新的值(注意:加鎖和解鎖是同一把鎖)

可見(jiàn)性-volatile

  • 通過(guò)加入內(nèi)存屏障禁止重排序優(yōu)化來(lái)實(shí)現(xiàn)
  • 將volatile變量寫操作時(shí)岁疼,會(huì)在寫操作后加入一條store屏障指令阔涉,將本地內(nèi)存中的共享變量值刷新到主內(nèi)存
  • 對(duì)volatile變量讀操作時(shí)缆娃,會(huì)在讀操作前加入一條load屏障指令,從主內(nèi)存中讀取共享變量

有序性

  • java內(nèi)存模型中瑰排,允許編譯器和處理器對(duì)指令進(jìn)行重排序贯要,但是重排序過(guò)程不會(huì)影響到單線程程序的執(zhí)行,卻會(huì)影響到多線程并發(fā)執(zhí)行的正確性椭住。
  • volatile崇渗、synchronized、lock

有序性-hanpens-before原則 (8個(gè)原則)

  • 程序次序規(guī)則:一個(gè)線程內(nèi)京郑,按照代碼順序宅广,書寫在前面的操作先行發(fā)生與書寫在后面的操作
  • 鎖定規(guī)則:一個(gè)unlock操作先行發(fā)生與后面對(duì)同一個(gè)鎖的lock操作(無(wú)論在單線程或者多線程中同一個(gè)鎖如果處于被鎖定狀態(tài),那么需要先unlock然后在進(jìn)行l(wèi)ock)
  • volatile變量規(guī)則:對(duì)一個(gè)變量的寫操作先行發(fā)生與后面對(duì)這個(gè)變量的讀操作(如果一個(gè)線程先去寫一個(gè)變量些举,另一個(gè)線程也去讀取這個(gè)變量跟狱,那么應(yīng)該是寫入操作先行發(fā)生于讀操作)-- 內(nèi)存屏障
  • 傳遞規(guī)則:如果操作A先行發(fā)生于操作B,而操作B又先行發(fā)生與操作C户魏,則可以得出操作A先行發(fā)生與操作C
  • 線程啟動(dòng)規(guī)則:Thread對(duì)象的start()方法先行發(fā)生于此線程的每一個(gè)動(dòng)作
  • 線程中斷原則:對(duì)線程interrupt()方法的調(diào)用先行發(fā)生于被中斷線程的代碼檢測(cè)到中斷事件的發(fā)生驶臊;
  • 線程終結(jié)規(guī)則:線程中所有的操作都先行發(fā)生于線程的終止檢測(cè),我們可以通過(guò)Threa.join()方法結(jié)束叼丑、Thread.isAlive()的返回值手段檢測(cè)到線程已經(jīng)終止執(zhí)行关翎;
  • 對(duì)象終結(jié)規(guī)則:一個(gè)對(duì)象的初始化完成先行發(fā)生于他的finalize()方法的開(kāi)始。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鸠信,一起剝皮案震驚了整個(gè)濱河市纵寝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌星立,老刑警劉巖爽茴,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異贞铣,居然都是意外死亡闹啦,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門辕坝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)窍奋,“玉大人,你說(shuō)我怎么就攤上這事酱畅×瞻溃” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵纺酸,是天一觀的道長(zhǎng)窖逗。 經(jīng)常有香客問(wèn)我,道長(zhǎng)餐蔬,這世上最難降的妖魔是什么碎紊? 我笑而不...
    開(kāi)封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任佑附,我火速辦了婚禮,結(jié)果婚禮上仗考,老公的妹妹穿的比我還像新娘音同。我一直安慰自己,他們只是感情好秃嗜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布权均。 她就那樣靜靜地躺著,像睡著了一般锅锨。 火紅的嫁衣襯著肌膚如雪叽赊。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天必搞,我揣著相機(jī)與錄音必指,去河邊找鬼。 笑死顾画,一個(gè)胖子當(dāng)著我的面吹牛取劫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播研侣,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼炮捧!你這毒婦竟也來(lái)了庶诡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤咆课,失蹤者是張志新(化名)和其女友劉穎末誓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體书蚪,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喇澡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了殊校。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晴玖。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖为流,靈堂內(nèi)的尸體忽然破棺而出呕屎,到底是詐尸還是另有隱情,我是刑警寧澤敬察,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布秀睛,位于F島的核電站,受9級(jí)特大地震影響莲祸,放射性物質(zhì)發(fā)生泄漏蹂安。R本人自食惡果不足惜椭迎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望田盈。 院中可真熱鬧畜号,春花似錦、人聲如沸缠黍。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瓷式。三九已至替饿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贸典,已是汗流浹背视卢。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留廊驼,地道東北人据过。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像妒挎,于是被迫代替她去往敵國(guó)和親绳锅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • 第十二章 Java內(nèi)存模型與線程 多任務(wù)和高并發(fā)是衡量一臺(tái)計(jì)算機(jī)處理器的能力重要指標(biāo)之一酝掩。一般衡量一個(gè)服務(wù)器性能的...
    鐵甲依然在_978f閱讀 740評(píng)論 0 3
  • ----------------------------------------業(yè)精于勤荒于嬉鳞芙,形成思?xì)в陔S---...
    郭之源閱讀 2,093評(píng)論 0 22
  • 本文是我自己在秋招復(fù)習(xí)時(shí)的讀書筆記,整理的知識(shí)點(diǎn)期虾,也是為了防止忘記原朝,尊重勞動(dòng)成果,轉(zhuǎn)載注明出處哦镶苞!如果你也喜歡喳坠,那...
    波波波先森閱讀 11,244評(píng)論 4 56
  • 生活需要來(lái)點(diǎn)虛的 辭職以后已經(jīng)很少看書了,尤其是最近半個(gè)月茂蚓,幾乎一頁(yè)都沒(méi)有看過(guò)壕鹉。不是不想看,是強(qiáng)忍著不看煌贴。這...
    Riverside_66閱讀 234評(píng)論 0 0
  • 轉(zhuǎn)瞬間2017年度過(guò)了一大半了御板,回過(guò)頭來(lái)觀望年末計(jì)劃,會(huì)發(fā)現(xiàn)再嚴(yán)謹(jǐn)?shù)挠?jì)劃都會(huì)被現(xiàn)實(shí)的不可控性給擊潰到體無(wú)...
    執(zhí)墨晚夏閱讀 250評(píng)論 0 2