1. 程式人生 > >【筆記】程序和執行緒的概念和異同

【筆記】程序和執行緒的概念和異同

一、程序

1.程序就是一個正在執行的程式。程序是作業系統分配資源的最小單位

2.程序的缺點:

(1)程序佔有系統資源;

(2)程序的切換給作業系統帶來了額外的開銷;

(3)建立新程序會把父程序的資源複製一份到子程序,如果建立多個程序,會佔用大量資源;

(4)程序間的資料共享需要OS的干預。


二、執行緒

(1)執行緒是一種輕量級的程序。

(2)執行緒沒有系統資源。

(3)執行緒是OS排程的最小單位

(4)一個程序由一個或多個執行緒組成。

(5)在一個程序內部,多個執行緒之間資源共享


三、程序和執行緒對比

1.資源分配不同

。程序擁有獨立的記憶體和系統資源;執行緒沒有系統資源。

2.工作效率不同。程序有系統資源,程序切換時要保留資源,故效率低。執行緒的切換不需要保留系統資源,效率高。

3.執行方式不同。程序可以被OS直接排程,執行緒必須在程序中執行。