1. 程式人生 > >程序和執行緒概念對比

程序和執行緒概念對比

程序:

程序是作業系統分配資源的最小單位。

程序之間是相互獨立的,一般不可互相訪問(除非利用分散式計算方式)。

程序有自己的獨立地址空間,每啟動一個程序,系統就會為它分配地址空間,建立資料表來維護程式碼段、堆疊段和資料段。

程序間切換代價很昂貴。

執行緒:

執行緒是執行的最小單位。

一個程序可以包含多個執行緒,入口處的執行緒被稱為主執行緒。執行緒共享程序中的全部資源。

執行緒間切換開銷比較小,但是過多的使用多執行緒反而會使效能下降(CPU需要花時間線上程的切換上)。

執行緒主要由CPU暫存器、呼叫棧和執行緒本地暫存器組成(TLS)。

多執行緒是“假象”,單位時間內,CPU只會執行一個執行緒。