對於業務需要同步的
同時,新增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...