當前位置:編程學習大全網 - 熱門推薦 - 線程和進程的區別聯系

線程和進程的區別聯系

1、進程是具有壹定獨立功能的程序關於某個數據集合上的壹次運行活動,是系統進行資源分配和調度的壹個獨立單位。

2、線程是進程的壹個實體,是CPU調度和分派的基本單位,他是比進程更小的能獨立運行的基本單位,線程自己基本上不擁有系統資源,只擁有壹點在運行中必不可少的資源(如程序計數器,壹組寄存器和棧),壹個線程可以創建和撤銷另壹個線程;

3、二者區別:

(1)調度:線程作為調度和分配的基本單位,進程作為擁有資源的基本單位。

(2)並發性:不僅進程之間可以並發執行,同壹個進程的多個線程之間也可以並發執行。

(3)擁有資源:進程是擁有資源的壹個獨立單位,線程不擁有系統資源,但可以訪問隸屬於進程的資源。

(4)系統開銷:在創建或撤銷進程的時候,由於系統都要為之分配和回收資源,導致系統的明顯大於創建或撤銷線程時的開銷。但進程有獨立的地址空間,進程崩潰後,在保護模式下不會對其他的進程產生影響,而線程只是壹個進程中的不同的執行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間,壹個線程死掉就等於整個進程死掉,所以多進程的程序要比多線程的程序健壯,但是在進程切換時,耗費的資源較大,效率要差些。

  • 上一篇:什麽情況下行程碼帶星號,行程碼什麽情況下帶*號
  • 下一篇:好用的ipad繪畫軟件
  • copyright 2024編程學習大全網