一.多線程相關(guān)問題
1. Thread 與runnable區(qū)別
- 共同點
- 區(qū)別:runnable 可以在多個線程中共享達到共享資源的優(yōu)勢现喳,而且比較容易控制
二 線程間通訊
1. Synchronized 關(guān)鍵字
- Synchronized 對象鎖
- Synchronized 實現(xiàn)線程間的通訊
- Synchronized/volatile
volatile 不允許講主內(nèi)存的變量拷貝到線程的內(nèi)存空間
volatile只能在線程和主內(nèi)存直接同步一個變量值凯傲,Synchronized 可以同步線程和主內(nèi)存直接所有的值。
- Synchronized/lock
lock 方法需要制定起始與終點位置
Synchronized性能較差
Synchronized是悲觀鎖嗦篱,lock 是樂觀鎖冰单。
2. sleep/wait
wait 是object的方法 sleep 是線程的方法
3. wait/notify
wait notify 是object的方法,需要其他線程調(diào)用notify 才能釋放鎖灸促。
線程池
- 優(yōu)點
- 降低資源消耗
- 提高響應速度
- 提高線程管理
- ThreadPoolExcutor
- 構(gòu)造參數(shù)介紹
- 線程池的工作流程
- 判斷基本線程是否已經(jīng)滿了
- 判斷工作隊列是否已滿
- 判斷整個線程是否滿了