第一章 簡(jiǎn)介
并發(fā)簡(jiǎn)史
- 裸機(jī)只能串行的執(zhí)行一個(gè)程序,無(wú)法充分發(fā)揮計(jì)算機(jī)的資源(比如cpu)
- 引入操作系統(tǒng)來(lái)分配 計(jì)算機(jī)資源并且實(shí)現(xiàn)多個(gè)程序同時(shí)執(zhí)行
- 資源利用率(比如i/o 阻塞)
- 公平性 (cpu調(diào)度算法參考 )操作系統(tǒng)概念
- 便利性(編寫(xiě)多個(gè)程序)
- 線程資料
- 會(huì)共享進(jìn)程范圍內(nèi)的的資源,比如棧與局部變量
- 優(yōu)勢(shì):充分發(fā)揮處理器的能力、異步事件的處理(來(lái)一個(gè)請(qǐng)求啟動(dòng)一個(gè)線程去處理比如tomcat)常柄、響應(yīng)更靈敏的用戶界面。
- 風(fēng)險(xiǎn)
- 線程安全問(wèn)題如
public class UnsaFEsequence{
prvate int value;
public int getNext(){
return value++;//不同的線程會(huì)獲取到相同的值
}
}
- 活躍性問(wèn)題 某件正確的事情最終會(huì)發(fā)生(比如死循環(huán))
- 性能問(wèn)題 比如線程調(diào)度器掛起某個(gè)線程產(chǎn)生上下問(wèn)切換,使cpu更多時(shí)間花在調(diào)度上面而非程序執(zhí)行上面荠锭。