【Linux】進程和線程的概念和異同

一、進程

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

2.進程的缺點:

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

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

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

(4)進程間的數據共享需要OS的干預。

 

二、線程

(1)線程是一種輕量級的進程。

(2)線程沒有系統資源。

(3)線程是OS調度的最小單位

(4)一個進程由一個或多個線程組成。

(5)在一個進程內部,多個線程之間資源共享

 

三、進程和線程對比

1.資源分配不同。進程擁有獨立的內存和系統資源;線程沒有系統資源。

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

3.執行方式不同。進程可以被OS直接調度,線程必須在進程中運行。

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章