synchronized是什么意思?synchronized的作用是什么?|當(dāng)前最新

發(fā)布時(shí)間:2023-07-05 09:17:11
編輯:
來源:安卓網(wǎng)
字體:

synchronized含義:

1、synchronized中文意思是同步,也稱之為”同步鎖“。

2、synchronized的作用是保證在同一時(shí)刻, 被修飾的代碼塊或方法只會(huì)有一個(gè)線程執(zhí)行,以達(dá)到保證并發(fā)安全的效果。

3、synchronized是Java中解決并發(fā)問題的一種最常用的方法,也是最簡(jiǎn)單的一種方法。

synchronized作用:

(1)、原子性:所謂原子性就是指一個(gè)操作或者多個(gè)操作,要么全部執(zhí)行并且執(zhí)行的過程不會(huì)被任何因素打斷,要么就都不執(zhí)行。被synchronized修飾的類或?qū)ο蟮乃胁僮鞫际窃拥?,因?yàn)樵趫?zhí)行操作之前必須先獲得類或?qū)ο蟮逆i,直到執(zhí)行完才能釋放。

(2)、可見性:**可見性是指多個(gè)線程訪問一個(gè)資源時(shí),該資源的狀態(tài)、值信息等對(duì)于其他線程都是可見的。 **synchronized和volatile都具有可見性,其中synchronized對(duì)一個(gè)類或?qū)ο蠹渔i時(shí),一個(gè)線程如果要訪問該類或?qū)ο蟊仨毾全@得它的鎖,而這個(gè)鎖的狀態(tài)對(duì)于其他任何線程都是可見的,并且在釋放鎖之前會(huì)將對(duì)變量的修改刷新到共享內(nèi)存當(dāng)中,保證資源變量的可見性。

(3)、有序性:有序性值程序執(zhí)行的順序按照代碼先后執(zhí)行。synchronized和volatile都具有有序性,Java允許編譯器和處理器對(duì)指令進(jìn)行重排,但是指令重排并不會(huì)影響單線程的順序,它影響的是多線程并發(fā)執(zhí)行的順序性。synchronized保證了每個(gè)時(shí)刻都只有一個(gè)線程訪問同步代碼塊,也就確定了線程執(zhí)行同步代碼塊是分先后順序的,保證了有序性。

標(biāo)簽: 電腦同步鎖 計(jì)算機(jī)修飾代碼 線程執(zhí)行

   原標(biāo)題:synchronized是什么意思?synchronized的作用是什么?|當(dāng)前最新

>更多相關(guān)文章
最近更新