程序和執行緒有什麼區別

2022-08-23 03:48:09 字數 720 閱讀 9320

目錄關係

區別

是具有一定獨立功能的程式、它是系統進行資源分配和排程的乙個獨立單位,重點在系統排程和單獨的單位,也就是說程序是可以獨 立執行的一段程式。

執行緒程序的乙個實體,是cpu排程和分派的基本單位,他是比程序更小的能獨立執行的基本單位,執行緒自己基本上不擁有系統資源。在執行時,只是暫用一些計數器、暫存器和棧 。

乙個執行緒只能屬於乙個程序,而乙個程序可以有多個執行緒,但至少有乙個執行緒(通常說的主線程)。

資源分配給程序,同一程序的所有執行緒共享該程序的所有資源。使用者程序主要段segment:stack(向低位址),heap,.rodata,data/bss,.text。乙個程序,上面的5部分是主要的,必須的。執行緒只擁有stack(執行緒棧,執行緒棧是單個執行緒所獨享的,2m),儲存自己的函式呼叫過程,比如heap,.rodata,data/bss,text段都是共享的。

執行緒在執行過程中,需要協作同步。不同程序的執行緒間要利用訊息通訊的辦法實現同步。

處理機分給執行緒,即真正在處理機上執行的是執行緒。

執行緒是指程序內的乙個執行單元,也是程序內的可排程實體。

排程:執行緒作為排程和分配的基本單位,程序作為擁有資源的基本單位。

併發性:不僅程序之間可以併發執行,同乙個程序的多個執行緒之間也可以併發執行。

擁有資源:程序是擁有資源的乙個獨立單位,執行緒不擁有系統資源,但可以訪問隸屬於程序的資源。

執行緒和程序有什麼區別

1 程序 程序在作業系統中可以獨立執行,是作業系統進行資源分配和排程的基本單元。2 執行緒 執行緒是程序中的乙個例項,作為系統排程和分派的基本單位,是程序中的一段序列,能夠完成程序中的乙個功能。3 程序和執行緒的區別 1 同乙個程序可以包含多個執行緒,乙個程序中至少包含乙個執行緒,乙個執行緒只能存在...

多程序 多執行緒 有什麼區別? 詳解

據說這個問題很重要,要從多個方面總結。多執行緒和多程序的區別 小結 多執行緒還是多程序的選擇及區別 0 教科書上的一句話 程序是資源分配的最小單位,執行緒是cpu排程的最小單位。1 共享的變數與私有的變數 同一程序的不同執行緒會共享程序記憶體空間中的全域性區和堆。執行緒私有的是棧和暫存器。因此。區域...

有什麼區別

01 02.程式的版權和版本宣告部分 05.檔名稱 test.cpp 06.作 者 王雅萍 07.完成日期 2014年 4 月 15 日 08.版 本 號 v1.0 09.對任務及求解方法的描述部分 10.輸入描述 無 11.問題描述 12.程式輸出 13.問題分析 略 14.演算法設計 略 inc...