進程,線程區別簡介


作為面試中必問的一道面試題,通過看博客和書,簡單總結如下:

定義:

進程:是程序運行的實例,是系統進行資源分配和調度的一個獨立單位,它包括獨立的地址空間,資源以及1個或多個線程。

線程:可以看成是輕量級的進程,是CPU調度和分派的基本單位。

 

區別:

1.調度 :從上面的定義可以看出一個是調度和分派的基本單位,一個是擁有資源的基本單位

2.共享地址空間,資源:進程擁有各自獨立的地址空間,資源,所以共享復雜,需要用IPC,同步簡單; 線程共享所屬進程的資源,共享簡單,但同步復雜,要通過加鎖等措施。

3.占用內存,cpu: 進程占用內存多,切換復雜,CPU利用率低; 線程占用內存少,切換簡單,CPU利用率高。

4.相互影響: 進程間不會相互影響; 一個線程掛掉會導致整個進程掛掉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM