進程和線程的區別和聯系


聯系:1、線程是進程的最小執行和分配單元,不能獨立運動,必須依賴於進程,這也就可以說眾多的線程組成了進程

   2、同一個進程中的線程是共享內存資源的,比如全局變量,每一個線程都可以改變其共同進程中的全局變量的數據

區別:1、進程是程序在系統上進行順序執行的動態活動。程序加載到內存,系統為其分配內存空間而執行,而這種執行的程序稱之為進程(程序是指令的集合,是程序運行的靜態描述文本)

   2、進程是操作系統進行分配(比如內存)的最基本單位,線程是cpu能夠進行調度和分派的最基本單位

   3、進程下管理的最底層單位是線程,在等級上,進程明顯大於線程

   4、一個程序可以有多個進程,一個進程可以有多個線程(一個進程里至少有一個線程),進程是擁有其獨立的內存單元地址空間,而線程共享進程中的資源,所以極大的提高了程序的運行效率

   5、線程基本不擁有系統資源,它與其他線程共享同一進程所擁有的共同資源。由於線程比進程小,且基本不擁有系統資源,因此對其調度的開銷會很小,從而極大的提高了對系統資源的利用率

   6、當服務器需要響應多個用戶請求時,如果創建多個進程,由於進程與進程之間是相互獨立的,會過多的占用內存空間,降低服務器的響應速度,但線程是共享同一進程中的資源的,使用線程會提高系統的並發型。


免責聲明!

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



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