1. 程式人生 > >Java多執行緒入門知識點梳理

Java多執行緒入門知識點梳理

前言

在多核時代,高併發時代,對系統並行處理能力有很高要求。多執行緒就是這個時代最好的產物。通過使用多執行緒可以增強系統並行處理能力,提高CPU資源的有效利用;從而提高系統的處理能力。常見應用場景如:多視窗售票、生產消費模式、非同步提交資訊(如日誌、傳送訊息),只要系統需要並行任務處理的場景都可以考慮使用多執行緒。當然它也有缺點,執行緒由CPU排程、程式設計師無法干涉、多執行緒的隨機性,這就會增加不可控性,得出的資料重複、錯亂等現象。。。這篇文章是從關鍵點上進行整理。。。後續會針對相關關鍵點製作相關係列文章。。。想了解多執行緒相關可以關注後續。。。

關鍵點如下:

1.併發、並行

2.程序、執行緒


3.Runable、Callable


4.執行緒同步:synchronized、Lock


5.執行緒協作:wait、notify、notifyAll


6.FutureTask


7.Thread


8.ExecutorService、Executors


9.入門案例:購票案例


10.atomic包:原子操作


11.執行緒協作應用:交叉列印案例


12.阻塞佇列:BlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue


13.阻塞佇列應用:生產、消費模式案例


14.併發容器:ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList、ConcurrentSkipListMap


15.CAS:無鎖操作保證執行緒安全


16.volatile:保證執行緒間可見性


17.JMM模型


18.多執行緒的隨機性

19.多執行緒的狀態