Synchronize讀髒解決

2021-08-25 13:57:03 字數 752 閱讀 1426

對於業務需要同步的

同時,新增synchronize關鍵字

比如,在getvalue/setvalue方法上

都加上synchronize關鍵字

保證,業務的一致性

package com.bjsxt.base.sync004;

/** * 業務整體需要使用完整的synchronized,保持業務的原子性。

* */

public

class

dirtyread catch (interruptedexception e)

this.password = password;

system.out.println("setvalue最終結果:username = " + username + " , password = " + password);

}public

synchronized

void

getvalue()

public

static

void

main(string args) throws exception

});t1.start();

thread.sleep(1000);

dr.getvalue();}}

執行

解決髒讀等併發問題

事務併發產生的問題 髒讀 乙個事務讀取到了另外乙個事務沒有提交的資料 事務1 更新一條資料 事務2 讀取事務1更新的記錄 事務1 呼叫commit進行提交 此時事務2讀取到的資料是儲存在資料庫記憶體中的資料,稱為髒讀。讀到的資料為臟資料 詳細解釋 髒讀就是指 當乙個事務正在訪問資料,並且對資料進行了...

髒讀,不可重複的讀,虛讀

引用 髒讀dirty reads 當事務讀取還未被提交的資料時,就會發生這種事件。舉例來說 transaction 1 修改了一行資料,然後 transaction 2 在 transaction 1 還未提交修改操作之前讀取了被修改的行。如果 transaction 1 回滾了修改操作,那麼 tr...

髒讀,不可重複的讀,虛讀

引用 髒讀dirty reads 當事務讀取還未被提交的資料時,就會發生這種事件。舉例來說 transaction 1 修改了一行資料,然後 transaction 2 在 transaction 1 還未提交修改操作之前讀取了被修改的行。如果 transaction 1 回滾了修改操作,那麼 tr...