對于人腦的認知來說,“代碼一行行串行”當然最容易理解,但在多執行緒下,多個執行緒的代碼交叉并行,要訪問互斥資源,要互相通信,作為開發者,需要仔細設計執行緒之間的互斥與同步,稍不留心,就會寫出非執行緒安全的代碼,正因此,多執行緒編程一直是一個被廣泛而深入討論的領域!
掃碼就有禮
關注后點擊這里!!暗號博客園,來獲取原始碼剖析檔案一份,
今天就來分享一份餓了么架構師純手打的Java并發實作原理:JDK原始碼剖析,由于這份筆記的內容過多,小編沒辦法全部為大家展示出來,有不盡完美之處,還望大家多多海涵
第1篇:多執行緒基礎
執行緒的優雅關閉
InterruptedException () 函式與interrupt ()函式
synchronized關鍵字
wait () 與notify ()
volatile關鍵字
JMM與happen-before
記憶體屏障
final關鍵字
綜合應用:無鎖編程
第2篇:Atomic類
AtomicInteger和AtomicLong
AtomicBoolean和AtomicReference
AtomicStampedReference和AtomicMarkableReference
AtomicIntegerFieldUpdater. AtomicL ongFieldUpdater和AtomicReferenceFieldUpdater
AtomicIntegerArray. AtomicLongArray和Atomic ReferenceArray
Striped64與LongAdder
第3篇:Lock與Condition
互斥鎖
讀寫鎖
Condition
StampedLock
第4篇:同步工具類
Semaphore
CountDownLatch
CyclicBarrier
Exchanger
Phaser
第5篇:并發容器
BlockingQueue
BlockingDeque
CopyOnWrite
ConcurrentLinkedQueue/Deque
ConcurrentHashMap
ConcurrentSkipListMap/Set
第6篇:執行緒池與Future
執行緒池的實作原理
執行緒池的類繼承體系
ThreadPoolExector
Callable與Future
ScheduledThreadPoolExecutor
Executors工具類
第7篇:ForkJoinPool
ForkJoinPool用法
核心資料結構
作業竊取佇列
ForkJoinPool狀態控制
Worker執行緒的阻塞—喚醒機制
任務的提交程序分析
作業竊取演算法:任務的執行程序分析
ForkJoinTask的fork/join
ForkJoinPool的優雅關閉
第8篇:CompletableFuture
CompletableFuture用法
四種任務原型
CompletionStage介面
CompletableFuture內部原理
任務的網狀執行:有向無環圖
allOf內部的計算圖分析
總結
相信大家讀完這份筆記后,你將對多執行緒的原理、各種并發的設計原理有一個全面而深刻的理解!整理不易,煩請多多轉發,
點擊這里!!暗號博客園
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/222235.html
標籤:其他
