
Java 多線程技術培訓
1 多線程的基本使用
2 臟讀與對象監視器
3 線程的優先級、保護線程
4 線程的等待與喚醒
5 實例變量與并發訪問
6 線程的休眠、活躍、停止
7 線程副本,死鎖與死循環
8 AQS、線程組、隊列、線程池
1
多進程和多線程的概念
1.多線程的概念
2.創建多線程——繼承Thread
3.創建多線程——實現Runnable
4.創建多線程——實現Callable
2
體會 start 與 run 函數之間的區別
1.多線程搶占CPU資源。
2.start()與run()函數之間的區別。
3.IllegalComponentStateException異常
3
實例變量與線程安全
1.初識synchronized關鍵字
2.實例變量的共享概念
3.實例變量的不共享概念
4
線程的休眠與活躍
1.isAlive();
2.sleep();
3.staticsynchronized靜態鎖
4.synchronized代碼塊
5.線程的生命周期
5
線程的停止
1.interrupt()函數
2.interrupted()函數
3.sleep()與tryCatch異常相結合
4.InterruptedException異常
6
線程的優先級與保護線程
1.線程的優先級、優先級的繼承特性、優先級的規則性、優先級的隨機性
2.守護線程概念(GC垃圾回收機制即是守護線程模式)
3.利用yield()函數讓當前線程放棄CPU資源
7
實例對象與并發訪問
1.synchronized同步方法的深入理解
2.多線程中方法內的變量為線程安全的變量、多線程中實例變量為非線程安全的變量
3.多線程應用的多個鎖、多線程應用的單個鎖
8
臟讀與對象監視器
1.實例對象鎖synchronized(this)
2.實例對象鎖的同步與異步
3.對象監視器synchronized(Object)
4.靜態同步staticsychronized
5.靜態同步staticsychronized與實例同步的區別
9
死鎖與循環
1.synchronized與無限等待
2.解決synchronized的無限等待問題
3.多線程何種情況下會出現死鎖
4.jps工具 5.jstack工具
10
線程的等待與喚醒
1.使用wait()、notify()函數達到多線程之間的通信、等待/喚醒 2.join()函數
11
線程副本
1.ThreadLocal線程副本的概念
2.InherItableThreadLocal線程副本的概念
3.InherItableThreadLocal與ThreadLocal的initialValue()搭配使用、childValue函數
12
線程關鍵字的實現類
1.ReentrantLockjava類鎖的概念
2.Lockjava抽象接口的概念解讀、函數定義、實現類
3.Conditionjava監視器接口的概念解讀、函數定義
13
AQS 與讀寫
1.AQS的概念/核心思想/模板設計模式
2.ReentrantLock原理
3.ReentrantReadwriteLock鎖的簡介/讀讀共享/讀寫互斥/寫寫互斥
14
線程組與隊列
1.線程組的概念、作用、函數、1級關聯與多級關聯
2.隊列的概念、特點、存儲結構
3.Queue隊列的概念、實現
4.阻塞隊列的概念
5.JDK中阻塞隊列的操作
15
線程池
1.線程池的概念、原理、作用
2.四種常見線程池的創建和使用
3.常見隊列
4.排隊策略
