java併發學習之執行緒安全的計數器

2021-08-29 13:51:04 字數 559 閱讀 5188

public class count

}});

list.add(t);

} //啟動執行緒

for(thread t:list)

//等待所有執行緒執行完畢

for(thread t:list)catch(exception e)

} system.out.println("執行緒不安全:"+cas.count);

system.out.println("執行緒安全:"+cas.atomici.get());

system.out.println("耗時:"+(system.currenttimemillis() - start));

} /**執行緒不安全的計數器*/

public void count()

/**執行緒安全的計數器,迴圈cas*/

public void safecount()

}}

執行結果:

Java學習 30 併發程式設計(執行緒安全)

死鎖概念及產生原理 概念 多個併發程序因爭奪系統資源而產生相互等待的現象。原理 當一組程序中的每個程序都在等待某個事件發生,而只有這組程序中的其他程序才能觸發該事件,這就稱這組程序發生了死鎖。本質原因 1 系統資源有限。2 程序推進順序不合理。死鎖產生的4個必要條件 1 互斥 某種資源一次只允許乙個...

Java併發之執行緒池的學習

相較執行緒,執行緒池的好處 1 減少在建立和銷毀執行緒上所花的時間以及系統資源的開銷 2 可以重複利用執行緒池中已建立的執行緒 直接介紹常見的幾種執行緒池 1 newfixedthreadpool int nthreads 建立乙個固定數量執行緒集合的執行緒池。新的執行緒加入後,如果正在執行的執行緒...

併發基礎之執行緒安全

個人部落格 原子性是指乙個操作是不可中斷的。即使是在多個執行緒一起執行的時候,乙個操作一旦開始,就不會被其它執行緒干擾 在併發時,程式的執行可能就會出現亂序 一條指令的執行是可以分為很多步驟的 取指 if 解碼和取暫存器運算元 id 執行或者有效位址計算 ex 儲存器訪問 mem 寫回 wb 指令重...