首頁 >Java >java教程 >java如何實作執行緒安全的計數器?實現線程安全的計數器的方法

java如何實作執行緒安全的計數器?實現線程安全的計數器的方法

青灯夜游
青灯夜游轉載
2018-10-22 17:42:425471瀏覽

本篇文章帶給大家的內容是java如何實現線程安全的計數器?實作執行緒安全的計數器的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

  • 線程安全的計數器實現原理簡介:
    在java中volatile關鍵字可以保證共享數據的可見性,它會把更新後的數據從工作內存刷新進共享內存,並使其他線程中工作內存中的數據失效,進而從主存中讀入最新值來保證共享數據的可見性,實現線程安全的計數器通過循環CAS操作來實現。就是先取得一個舊期望值值,再比較所獲得的值與主記憶體中的值是否一致,一致的話就更新,不一致的話接著循環,直到成功為止.

  • 具體程式碼實作

public class Count{
	private int count = 0;
	private AtomicInteger atomicI = new AtomicInteger(0);
	public static void main(String[] args){
		final Count cas = new Count();
		List<thread> list = new ArrayList<thread>();
		long start = System.currentTimeMillis();
		for(int j=0;j<p style="text-align: left;">執行結果:</p>
<p style="text-align: center;"><img src="https://img.php.cn//upload/image/892/587/606/1540201251389022.png" title="1540201251389022.png" alt="java如何實作執行緒安全的計數器?實現線程安全的計數器的方法"></p>#</thread></thread>

以上是java如何實作執行緒安全的計數器?實現線程安全的計數器的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除