本篇文章帶給大家的內容是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中文網其他相關文章!