1. 程式人生 > >Java並發編程從入門到精通-總綱

Java並發編程從入門到精通-總綱

計數器 cache 之間 bsp ont 同步隊列 pool 數組 array

總綱:
Thread;
Thread安全;
線程安全的集合類;
多線程之間交互:線程閥;
線程池;
Fork/Join;

第2章:認識Thread:
線程實現的三種方法;
Thread裏面的屬性和方法;
線程的中斷機制;
線程的生命周期;
守護線程;
線程組;
當前線程的副本:ThreadLocal;
線程異常的處理;

第3章:Thread安全:
Java內存模型與多線程;
線程不安全和線程安全;
隱式鎖synchronized;
顯式鎖Lock和ReentrantLock;
顯式鎖ReadWriteLock和ReentrantReadWriteLock;
顯式鎖StampedLock;
死鎖;


volatile關鍵字;
原子變量:atomic;
單例模式;

第4章:線程安全的集合類:
java.util.Hashtable;
java.util.concurrent.ConcurrentHashMap;
java.util.concurrent.CopyOnWriteArrayList;
java.util.concurrent.CopyOnWriteArraySet;
CopyOnWrite機制;
Vector;
StringBuilder和StringBuffer;

第5章:多線程之間交互:線程閥:
阻塞隊列BlockingQueue;
數組阻塞隊列ArrayBlockingQueue;


鏈表阻塞隊列LinkedBlockingQueue;
優先級阻塞隊列PriorityBlockingQueue;
延時隊列DelayQueue;
同步隊列SynchronousQueue;
鏈表雙向阻塞隊列LinkedBlockingDeque;
鏈表傳輸隊列LinkedTransferQueue;
同步計數器CountDownLatch;
抽象隊列化同步器AbstractQueuedSynchronizer;
同步計數器Semaphore;
同步計數器CyclicBarrier;

第6章:線程池:
什麽是線程池;
newSingleThreadExecutor的使用;
newCachedThreadPool的使用;


newFixedThreadPool的使用;
線程池的好處;
線程池的工作機制及其原理;
自定義線程池和ExecutorService;
線程池在工作中的錯誤使用;

第7章:Fork/Join框架:
Future任務機制和FutureTask;
什麽是Fork/Join框架;
認識Fork/Join的JDK裏面的家族;
Fork/Join框架的實現原理;
異常處理機制和辦法;
Fork/Join模式優缺點及其實際應用場景;

線程實戰經驗;

一開始是隱式鎖:synchronized;然後出現顯示鎖:ReentrantLock系列接口及實現類;然後出現線程池,
搭配阻塞隊列(阻塞隊列提供任務,就是要實現的具體的業務邏輯;線程池負責提供線程執行這些任務);
然後又出現懸鎖(synchronized的加強版,好像比顯式鎖更好用);

Java並發編程從入門到精通-總綱