多個執行緒訪問避免髒讀

2021-08-20 21:59:39 字數 628 閱讀 5786

package com.freeflying.thread.base;

/** * @classname: datashare

* @description:多個執行緒訪問乙個變數,如果多個執行緒同時訪問,避免資料髒讀問題

* @author freeflying

* @date 2023年6月22日

*/public class datasharesync

}class thread6 extends thread

}}

結果:

this is one calculate,count=4

this is one calculate,count=3

this is one calculate,count=2

this is one calculate,count=1

this is one calculate,count=0

結論:當乙個執行緒想要執行同步方法裡面的**時,執行緒首先嘗試去拿這把鎖,如果能拿到這把鎖,那麼這個執行緒就可以執行synchronized裡面的**,如果拿這把鎖失敗,那麼這個執行緒就會不斷嘗試去拿這把鎖,指定拿到為止,而且是多個執行緒同時去搶這把鎖。

MySQL InnoDB 如何避免髒讀

事務隔離級別 repeatable read 能避免髒讀 rr隔離級別下的隱患 幻讀,另外一篇文章的重點 必須提前了解 當前讀和快照讀的區別 mysql 的 innodb 會維護一系列不暴露給使用者的隱藏字段,其中有3個用於實現快照讀 非阻塞讀 undo log 實現了快照讀的資料結構。read v...

資料庫避免髒讀,幻讀

一 髒讀 乙個事務讀取到了另外乙個事務沒有提交的資料 詳細解釋 髒讀就是指 當乙個事務正在訪問資料,並且對資料進行了修改,而這種修改還沒有提交到資料庫中,這時,另外乙個事務也訪問這個資料,然後使用了這個資料。因為這個資料是還沒有提交的資料,那麼另外乙個事務讀到的這個資料是髒資料,依據髒資料所做的操作...

執行緒髒讀「程式設計教學」

髒讀出現的背景 大多是因為在開發中沒有考慮到業務整體性的原因,導致資料出現了不一致的狀況。示例 例如我現在有個類,類中有設定值 設定值的過程需要3秒鐘 和取值的方法,然後我在主線程中先設定這個類物件的值,然後讓主線程睡眠1秒鐘之後,馬上去取值。由於設定值的過程需要3秒鐘,也就是我還沒有設定完成,你就...