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