關於進程與線程常見的可應對回答的面試題
程序
是指令的有序集合,靜態概念,長久的。
進程
特性
- 動態性 是程序在處理機上的一次執行過程,是個動態概念,暫時的,有生命週期。
- 併發性 多個進程可以同時存在於內存中
- 獨立性 系統進行資源分配和調度的基本單位,是系統權限的集合。資源調度。
- 制約性
組成
- 程序
- 數據
- 進程控制塊(process control block,PCB) 是系統感知進程存在的標誌,類似於身份證
3種狀態
- 運行
- 就緒
- 等待/阻塞
程序與進程
基於線程的多任務處理是同一程序的片段的併發執行
通過多次執行,一個程序可對應多個進程;通過調用關係,一個進程可包括多個程序。
線程
是CPU分配和調度單位。執行調度。
程序執行流的最小單元
一個線程可以創建和撤銷另一個線程
進程與線程
與Linux下創建進程不同,WIN32線程不是從創建處開始運行,而是由CreateThread指定一個函數,線程就從那個函數處開始運行。