【課程內容】
第1講 你真的了解并發嗎?
第2講 理解多線程與并發的之間的聯系與區別
第3講 解析多線程與多進程的聯系以及上下文切換所導致資源浪費問題
第4講 學習并發的四個階段并推薦學習并發的資料
第5講 線程的狀態以及各狀態之間的轉換詳解 00:21:56
第6講 線程的初始化,中斷以及其源碼講解 00:21:26
第7講 多種創建線程的方式案例演示(一)帶返回值的方式 00:17:12
第8講 多種創建線程的方式案例演示(二)使用線程池 00:15:40
第9講 Spring對并發的支持:Spring的異步任務 00:11:10
第10講 使用jdk8提供的lambda進行并行計算 00:14:22| 下載課件
第11講 了解多線程所帶來的安全風險 00:13:16| 下載課件
第12講 從線程的優先級看饑餓問題 00:18:42
第13講 從Java字節碼的角度看線程安全性問題 00:25:43
第14講 synchronized保證線程安全的原理(理論層面) 00:13:59
第15講 synchronized保證線程安全的原理(jvm層面) 00:25:03
第16講 單例問題與線程安全性深入解析 00:27:15
第17講 理解自旋鎖,死鎖與重入鎖 00:24:58
第18講 深入理解volatile原理與使用 00:28:30
第19講 JDK5提供的原子類的操作以及實現原理 00:27:10
第20講 Lock接口認識與使用 00:19:54
第21講 手動實現一個可重入鎖 00:26:31
第22講 AbstractQueuedSynchronizer(AQS)詳解 00:49:04
第23講 使用AQS重寫自己的鎖 00:31:04
第24講 重入鎖原理與演示 00:12:24
第25講 讀寫鎖認識與原理 00:18:04
第26講 細讀ReentrantReadWriteLock源碼 00:30:38
第27講 ReentrantReadWriteLock鎖降級詳解 00:13:32
第28講 線程安全性問題簡單總結 00:15:34
第29講 線程之間的通信之wait/notify 00:32:12
第30講 通過生產者消費者模型理解等待喚醒機制 00:20:50
第31講 Condition的使用及原理解析 00:17:40
第32講 使用Condition重寫wait/notify案例并實現一個有界隊列 00:22:05
第33講 深入解析Condition源碼 00:21:15
第34講 實戰:簡易數據連接池 00:24:53
第35講 線程之間通信之join應用與實現原理剖析 00:10:17
第36講 ThreadLocal 使用及實現原理 00:17:41
第37講 并發工具類CountDownLatch詳解 00:22:04
第38講 并發工具類CyclicBarrier 詳解 00:11:52
第39講 并發工具類Semaphore詳解 00:17:27
第40講 并發工具類Exchanger詳解 00:13:47
第41講 CountDownLatch,CyclicBarrier,Semaphore源碼解析 00:29:57
第42講 提前完成任務之FutureTask使用 00:11:43
第43講 Future設計模式實現(實現類似于JDK提供的Future) 00:19:20
第44講 Future源碼解讀 00:29:22
第45講 Fork/Join框架詳解 00:28:09
第46講 同步容器與并發容器 00:18:44
第47講 并發容器CopyOnWriteArrayList原理與使用 00:15:52
第48講 并發容器ConcurrentLinkedQueue原理與使用 00:31:03
第49講 Java中的阻塞隊列原理與使用 00:26:18
第50講 實戰:簡單實現消息隊列 00:11:07
第51講 并發容器ConcurrentHashMap原理與使用 00:38:22
第52講 線程池的原理與使用 00:42:49
第53講 Executor框架詳解 00:36:54
第54講 實戰:簡易web服務器 00:55:34
第55講 JDK8的新增原子操作類LongAddr原理與使用 00:17:45
第56講 JDK8新增鎖StampedLock詳解 00:29:37
第57講 重排序問題 00:23:19
第58講 happens-before簡單概述 00:15:17
第59講 鎖的內存語義 00:13:54
第60講 volatile內存語義 00:12:04
第61講 final域的內存語義 00:34:07
第62講 實戰:問題定位 00:07:48