執行緒和程序的區別 請用簡單的語言描述一下核心所在

2025-02-06 21:05:13 字數 3984 閱讀 4674

1樓:網友

執行緒是比程序更小的處理模組。

程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於:

簡而言之,乙個程式至少有乙個程序,乙個程序至少有乙個執行緒。

執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有乙個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

從邏輯角度來看,多執行緒的意義在於乙個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的乙個獨立單位。

執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位。執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬乙個程序的其他的執行緒共享程序所擁有的全部資源。

乙個執行緒可以建立和撤銷另乙個執行緒;同乙個程序中的多個執行緒之間可以併發執行。

2樓:碼農架構

作業系統]程序和執行緒的區別。

分別解釋一下程式,程序和執行緒的概念和區別?

3樓:抹黑介

程式 是計算機指令的集合它,以檔案的形式儲存在磁碟上。

程序是乙個程式在其 自身的位址空間中的一次執行活動。

程序是資源申請、排程和獨立執行的單位,因此,它使用系統中的執行資源,而程式不能申請系統資源,不能被系統排程,也不能作為獨立執行的單位,因此,它不佔系統的執行資源。

執行緒:程序中的乙個單一的連續控制流程。乙個程序可以擁有多個執行緒。

執行緒又稱輕量級程序,它和程序一樣擁有獨立的執行控制,由作業系統負責排程,區別在於執行緒沒有獨立的儲存空間,而是和所屬程序中的其它執行緒共享乙個儲存空間,這使得執行緒間的通訊遠較程序簡單。

4樓:碼農架構

作業系統]程序和執行緒的區別。

程序和執行緒都是系統進行的基本單位, 它們最大的區別是什麼?

5樓:網友

程序與執行緒的區別:

排程:執行緒作為排程和分配的基本單位。

程序作為擁有資源的基本單位;

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

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

系統開銷:在建立或撤消程序時,由於系統都要為之分配和**資源,導致系統的開銷明顯大於建立或撤消執行緒時的開銷。

程序和執行緒的關係:

乙個執行緒只能屬於乙個程序,而乙個程序可以有多個執行緒,但至少有乙個執行緒;

資源分配給程序,同一程序的所有執行緒共享該程序的所有資源;

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

執行緒在執行過程中,需要協作同步。不同程序的執行緒間要利用訊息通訊的辦法實現同步。執行緒是指程序內的乙個執行單元,也是程序內的可排程實體。

什麼是執行緒?試述執行緒與程序的區別。(在計算機作業系統裡)

6樓:網友

程序有兩個屬性,一是資源分配單位,另乙個是排程單位。而現在的作業系統都是多道程式的思想,多道程式思想要想系統效率高,則併發的力度要大,也就是說系統中併發執行的程序越多越好,但程序是資源分配的單位,程序之間的切換需要更改所需資源,因此程序切換太頻繁,則系統開銷的時間就越大,因而為了即提高併發力度,又不增加系統開銷,引入了執行緒,多個執行緒可以屬於同一程序,執行緒多了,併發力度大,但屬於乙個程序,系統開銷不會增大。

7樓:網友

你開啟工作管理員,裡面的是程序,乙個程序可以有多個執行緒。

簡單的說,乙個程式執行的時候,就表示乙個程序開始了。可是乙個程序裡可以包含多執行緒,比如說:洗衣服。

程序就好像洗衣服,單執行緒的話,同一時間內,只可以洗一件衣服。如果是多執行緒的話,在同一時間內,可以洗多件衣服。

當然的,因為"任務"量大了,對於系統的壓力就會大。

程式,程序,執行緒三者之間的區別和聯絡

8樓:九尾

1、程式:**實現了功能,就叫程式。

2、程序:就是程式實現了功能,不執行就無法看到效果,這時程式在執行的過程叫程序。

3、執行緒:比如在**中,有while1 和 while2 兩個函式,你想在程式中「同時執行」這兩個函式。但是不開執行緒是無做不到,因為一條線只會從**開始執行到結束,不執行完while1函式是不會去執行while2函式的。

所以我們可以在**中再開一條執行緒,當執行到這個地方,程式執行會同時在這個地方開始分支執行執行,相當於兩個mian,能懂?

4、不懂請追問。

修改:看不懂的小夥伴,具體說明聯絡:

聯絡:乙個程式可以有多個程序,乙個程序可以有多個執行緒。

區別:沒有區別之分,不同的概念,何來區別。

執行緒,程序,程式 三者間的區別與聯絡

9樓:匿名使用者

乙個程序可以有乙個或者多個執行緒組成,程序和程式並不是一一對應的,乙個程式執行在不同的資料集上就成為不同的程序,可以用程序控制塊來唯一地標識每個程序。而這一點正是程式無法做到的,由於程式沒有和資料產生直接的聯絡,既使是執行不同的資料的程式,他們的指令的集合依然是一樣的,所以無法唯一地標識出這些執行於不同資料集上的程式。一般來說,乙個程序肯定有乙個與之對應的程式,而且只有乙個。

而乙個程式有可能沒有與之對應的程序(因為它沒有執行),也有可能有多個程序與之對應(執行在幾個不同的資料集上)。

10樓:

作業:作業指使用者在一次解決或是乙個事務處理過程中要求計算機系統所做的工作的集合。作業由三部分組成,即程式、資料和作業說明書。

乙個作業可以包含多個程式和多個資料集。作業說明書在系統中生成乙個稱為作業控制塊(job control block,jcb)的**。該**登記該作業所要求的資源情況、預計執行時間和執行優先順序等。

從而,作業系統通過該表瞭解到作業要求,並分配資源和控製作業中程式和資料的編譯、鏈結、裝入和執行等。

作業是由一系列有序的步驟組成的。作業的完成要經過作業提交、作業收容、作業執行和作業完成4個階段。在執行乙個作業可能會執行多個不同的程序。

需要說明的是,作業的概念主要用在批處理系統中,而且,在批處理系統中,作業是搶佔記憶體的基本單位。也就是說,批處理系統以作業為單位把程式和資料調入記憶體以便執行。

程式:程式是一組有序指令的集合,並存放於某種介質中,是乙個靜態概念。

程序:程序是為使程式能併發執行,且為了對併發執行的程式加以描述和控制而引入的概念。

在瞭解程序前,先說明下程序實體。程序實體是由程式段、相關的資料段和pcb三部分組成,是乙個能獨立執行、獨立分配資源和獨立接受調動的基本單位。

現在來說明程序的定義:程序是程序實體的一次執行過程,是系統進行資源分配和排程的乙個獨立單位。它是乙個動態概念。

執行緒:隨著多處理機系統的發展,提高程式的併發執行程度的要求越來越高。為提高系統的併發執行度,進而引入了執行緒的概念。

執行緒是比程序更小的能獨立執行的基本單位(故又稱「輕型程序」),更好的提高了程式的併發執行程度充分發揮了多處理機的優勢。

程序和執行緒分別是什麼意思?

11樓:帳號已登出

程序是資源分配的最小單位,執行緒應該是cpu排程的最小單位。

資源分配雹襲弊是同域物種為了保持自己的生存和減少種禪培間競爭消耗,通過自然競爭形成不同物種在選擇利用食物資源的大小和分佈位置等方面的差異。

在資金的分配中,應該分配應該遵循的基本原則:根據各單位、各專案對整個戰略的重要性來設定資金分配的優先權,以實現資源的有償高效利用;努力開發資金宰各戰略單位的潛在協同功能。

請用簡單通俗的語言告訴我麻將怎麼玩

一對將,四組兵bai 一對將指du的必須得有一個對,zhi 四組兵指一組三張dao牌有四回組,一組可以是同花色的三張連答牌,也可以是任意牌面的三張 槓坯 組成了就算胡牌。七對較簡單不說了,大四喜 東西南北四個槓坯 一條龍 同花一到九三組兵 連三元 中發白三個槓坯 都是在此基礎上的特殊牌例。接13張牌...

請用最最簡單的語言解釋下高一數學的交集,並集,子集和真子集的區別

交集 兩個集合重合的部分 並集 兩個集合所含的部分 子集 一個集合中的元素是另一個集合所含有的集合真子集 一個集合中的元素是另一集合所含有的集合,且兩個集合不相等 交集,並集,子集和真子集用圖表很容易就記住了以a b為例,a為條件,b為結論 充分條件 a推出b 必要條件 b推出a 充分非必要 能用條...

日語和的區別請問日語和的區別是什麼?

表示的是某事發生的概率,表示說話人的推斷,而表達意願時常用在別人身上。如 來 而 則多用於表達意願 多是說話人的意願 不用於推斷。如 行 必 一定,必然,必將 近 將來 実現 不遠的將來必然會實現 是非 1 名 是非 正確與錯誤,對與不對 善 悪 善惡,好與壞 判斷 判斷是非 論 不論是非 明 明 ...