目錄
1、多任務
并發:在一段時間內交替去執行任務
并行:
2、線程
進程與線程
守護線程
1、多任務
????????在同一時間內執行多個任務,多任務分為并發和并行兩種形式
并發:在一段時間內交替去執行任務
????????軟件1執行0.01秒,切換到軟件2,軟件2執行0.01秒,再切換到軟件3,執行0.01秒……這樣反復執行下去。表面上看,每個軟件都是交替執行的,實際上是由于CPU的執行速度塊,就像這些軟件都在同時執行一樣,這里需要注意單核cpu是并發的執行多任務的。
并行:
????????對于多核cpu處理多任務,操作系統會給cpu的每個內核安排一個執行的軟件,多個內核是真正的一起執行軟件。多核cpu是并行的執行多任務,始終有多個軟件一起執行。
2、線程
多任務開發,有多種實現方式,從資源占用大小排序:進程 > 線程 > 協程
進程與線程
- 進程是分配資源的基本單位, 一旦創建一個進程就會分配一定的資源,
- 線程是cpu調度的基本單位,每個進程至少都有一個線程,而這個線程就是我們通常說的主線程。
守護線程
????????守護線程是一種在后臺運行的線程,它不會阻止程序的退出。當程序中所有的非守護線程(用戶線程)都結束運行后,程序會自動退出,而不會等待守護線程完成。守護線程通常用于為程序提供服務,比如清理資源、監控程序狀態等。