您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)java中Synchronized的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
Java的基本數(shù)據(jù)類(lèi)型分為:1、整數(shù)類(lèi)型,用來(lái)表示整數(shù)的數(shù)據(jù)類(lèi)型。2、浮點(diǎn)類(lèi)型,用來(lái)表示小數(shù)的數(shù)據(jù)類(lèi)型。3、字符類(lèi)型,字符類(lèi)型的關(guān)鍵字是“char”。4、布爾類(lèi)型,是表示邏輯值的基本數(shù)據(jù)類(lèi)型。
1、確保方法或代碼塊在操作中的原子性
同步化保證了符號(hào)內(nèi)部或代碼塊內(nèi)部資源(數(shù)據(jù))的互斥訪問(wèn)。也就是說(shuō),由同一時(shí)間內(nèi)的相同的監(jiān)控鎖所監(jiān)控的代碼,至多可以有?個(gè)線程進(jìn)行訪問(wèn)。
在多線程環(huán)境中,Synchronized關(guān)鍵字描述的方法或代碼塊在同一時(shí)間只能由一個(gè)線程訪問(wèn),在持有當(dāng)前Monitor的線程執(zhí)行完成之前,其他線程若要調(diào)用相關(guān)的方法,必須排隊(duì),知道持有當(dāng)前Monitor的線程執(zhí)行結(jié)束,釋放Monitor,然后下一個(gè)線程將執(zhí)行結(jié)束。
當(dāng)多個(gè)監(jiān)視器的情況下,多個(gè)監(jiān)視器不會(huì)互相排斥。
2、確保監(jiān)視資源可見(jiàn)
在多線程環(huán)境中保證監(jiān)控資源上的數(shù)據(jù)同步。也就是,當(dāng)任何線程獲得Monitor之后將共享內(nèi)存中的數(shù)據(jù)復(fù)制到site的緩存中。在此過(guò)程中,首先將緩存數(shù)據(jù)復(fù)制到共享內(nèi)存中。
3、確保線程間的有序運(yùn)行
同步化的原子性保證了它所描述的方法或代碼操作的有序性,并且在同一時(shí)間最多只能有一個(gè)線程訪問(wèn),并且不會(huì)觸發(fā)JMM指令重排機(jī)制。
看完上述內(nèi)容,你們對(duì)java中Synchronized的作用是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。