国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

java高并發(fā)加鎖 Java中事務(wù)開(kāi)啟是不是就是mysql加鎖了?

Java中事務(wù)開(kāi)啟是不是就是mysql加鎖了?Java中的東西一般都是在服務(wù)層控制的,主要是為了在一些安全系數(shù)高的業(yè)務(wù)場(chǎng)景中防止出錯(cuò)。最常用的操作是轉(zhuǎn)賬操作,必須在轉(zhuǎn)出賬戶扣錢和轉(zhuǎn)入賬戶加錢時(shí)成功。M

Java中事務(wù)開(kāi)啟是不是就是mysql加鎖了?

Java中的東西一般都是在服務(wù)層控制的,主要是為了在一些安全系數(shù)高的業(yè)務(wù)場(chǎng)景中防止出錯(cuò)。最常用的操作是轉(zhuǎn)賬操作,必須在轉(zhuǎn)出賬戶扣錢和轉(zhuǎn)入賬戶加錢時(shí)成功。

MySQL的鎖是數(shù)據(jù)庫(kù)本身的鎖,因?yàn)橐粋€(gè)數(shù)據(jù)表中可能有多個(gè)人同時(shí)讀寫,可能有多個(gè)人同時(shí)操作一段數(shù)據(jù),但是你先更改數(shù)據(jù),然后其他人也在修改,可能會(huì)導(dǎo)致修改后的數(shù)據(jù)出錯(cuò),在MySQL數(shù)據(jù)中出現(xiàn)錯(cuò)誤讀取和臟讀取的情況下,可能會(huì)出現(xiàn)不正確的數(shù)據(jù)。

這兩個(gè)不是一回事

下面是一個(gè)簡(jiǎn)單的解釋,原因如下:

鎖定是因?yàn)椴僮鞑皇窃拥?。讓我們用操作一?lái)解釋它。看下面兩個(gè)圖。

我這個(gè)操作需要

看上面的第二個(gè)圖,你能很清楚地理解這個(gè)過(guò)程嗎?

鎖定是為了確保上述三個(gè)步驟是原子操作。

回到問(wèn)題上來(lái),只有一個(gè)線程要寫,沒(méi)有競(jìng)爭(zhēng),所以不需要鎖定。

但是,如果你看第一張圖片,因?yàn)橹鲀?nèi)存和本地內(nèi)存的存在

在一個(gè)線程寫入后,其他線程無(wú)法立即看到它。這就是可見(jiàn)性問(wèn)題。

添加volatile關(guān)鍵字后,它將在操作后強(qiáng)制工作內(nèi)存和主內(nèi)存同步,以確保其他線程可以立即看到它。