前文:
單線程——多線程的開(kāi)啟——線程鎖——線程同步工具——手寫(xiě)連接池——連接池工具類(lèi)。
一、線程
1.線程的概念
2.線程與進(jìn)程的關(guān)系
3.定義:
區(qū)別:如上!!!
4.wait()和sleep()
5.線程的狀態(tài)及其他API
二、線程鎖
線程并發(fā)同步時(shí),引入了鎖機(jī)制。
- 普通鎖機(jī)制:synchronized 修飾代碼塊與volatile 修飾成員變量
- Lock
!!共同點(diǎn):都是從外面創(chuàng)建鎖類(lèi)、再把鎖傳到線程里對(duì)變量對(duì)象賦值。
(1)重入鎖
(2)讀寫(xiě)分離鎖
區(qū)別:
三、線程同步工具類(lèi)
!!共同點(diǎn):都是從外面創(chuàng)建工具類(lèi)、再把工具類(lèi)的參數(shù)傳到線程里面執(zhí)行。
- CountDowmLatch閉鎖:等待所有線程執(zhí)行完
- CyclicBarrier柵欄:等待所有線程達(dá)到后開(kāi)啟
- Exchanger交換機(jī):交流數(shù)據(jù)
- 信號(hào)量
(1)概念
(2)應(yīng)用場(chǎng)景一
(3)應(yīng)用場(chǎng)景二
四、線程池
- 為什么使用線程池
- 線程池的核心隊(duì)列
阻塞式隊(duì)列:只用于線程對(duì)象,主要用于引出線程池
- 手動(dòng)創(chuàng)建線程池
- Executors工具創(chuàng)建線程
核心線程:0(臨時(shí)線程)、1(隊(duì)列)、N(隊(duì)列)
定時(shí)線程: