當前位置:知知館 >

經驗

> 線程和進程的區別是什麼

線程和進程的區別是什麼

線程和進程的區別是什麼

線程和進程的區別:

1、從底層來説,進程=cpu加載上下文+cpu執行+cpu保存上下文,線程=(在共享進程的上下文的基礎下,將程序的實現分為多個程序段來執行,每個程序段就被稱為線程),也就是説線程和進程都是cpu工作時間段的描述,只不過線程的cpu工作時間段小,進程的cpu工作時間段大。

2、在同一進程中的不同線程共享相同的地址空間,而不同的進程則在內存中有獨立的地址空間。因此線程可以讀寫同樣的數據結構和變量,便於線程之間的通信。相反,進程間通信(IPC)很困難且消耗更多資源。

3、一個線程死掉就等於整個進程死掉,而一個進程死掉,由於保護機制,其他進程不受影響,所以多進程的程序要比多線程的程序健壯(穩定)。

4、一個進程可包含多個線程,線程屬於進程。

5、線程是調度(獲得的cpu的所有權)的基本單位,進程是資源分配的基本單位。

標籤: 線程 進程
  • 文章版權屬於文章作者所有,轉載請註明 https://zhizhiguan.com/zh-mo/jingyan/qe6r02.html