執行緒與程序

2021-09-05 09:17:19 字數 448 閱讀 5749

執行緒由兩部分組成:

執行緒核心物件,存放執行緒統計資訊的地方,實則為乙個資料結構;

乙個執行緒棧,用於維護執行緒執行時所需的所有函式引數和區域性變數;

說明:程序是有惰性的,程序不執行任何東西,它只是執行緒的乙個容器。相較於執行緒,程序所使用的系統資源更多。其原因在於位址空間。為乙個程序建立乙個虛擬的位址空間需要大量的系統資源。系統中會發生大量的記錄活動,而這需要用到大量記憶體。而且,由於exe和dll檔案要載入到乙個位址空間,還需要用到檔案資源。而執行緒使用的系統資源要少的多。事實上,執行緒只有乙個核心物件和乙個棧,占用的記憶體很少。(建議使用額外的執行緒來解決程式設計問題,避免建立新程序)

建立執行緒時,系統從程序的位址空間中分配記憶體給執行緒棧使用。新執行緒在與負責建立的那個執行緒在相同的程序上下文中執行。因此,新執行緒可以訪問程序核心物件的所有控制代碼、程序中的所有記憶體以及同乙個程序中其他所有執行緒的棧。這樣一來,同乙個程序中的多個執行緒可以很容易通訊。

程序與執行緒

程序 process 管理單元,管理分配應用程式的資料,的記憶體空間.執行緒 thread 執行單元,執行緒負責執行乙個預先編排好的 段,執行 棧是基於執行緒的.乙個應用程式啟動的時候,程序自動建立,並且會預設建立主線程,主線程負責執行main 方法.thread t new thread new ...

程序與執行緒

程序 是擁有資源的實體,包括 1。乙個程序有乙個虛擬位址空間,不同程序位於不同的 虛擬位址空間中。程序之間若要通訊,必須通過作業系統 的功能呼叫 ipc 2。程序擁有其他資源,例如開啟的檔案和i o裝置。程序結束時,作業系統會自動釋放該程序擁有的所有資源。例如,如果 open乙個檔案而不close它...

程序與執行緒

程序包括 1 私有的虛位址空間 2 可執行程式 與資料 3 開啟系統資源列表控制代碼 4 安全訪問標誌 5 程序id 6 至少有乙個執行執行緒 執行緒包括 1 一組cpu暫存器狀態 2 兩個堆疊 系統態與使用者態 3 tls 執行緒區域性儲存區 4 執行緒id 5 安全特性 因此程序是不活潑的,它從...