卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

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

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

MySQL的鎖是數(shù)據(jù)庫(kù)本身的鎖,因?yàn)橐粋€(gè)數(shù)據(jù)表中可能有多個(gè)人同時(shí)讀寫(xiě),可能有多個(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)單的解釋?zhuān)蛉缦拢?/p>

鎖定是因?yàn)椴僮鞑皇窃拥?。讓我們用操作一?lái)解釋它??聪旅鎯蓚€(gè)圖。

我這個(gè)操作需要

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

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

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

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

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

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