執行緒與程序的區別有哪些?如何更好地理解這兩個概念?跪求大蝦詳解

2025-04-05 13:15:08 字數 2729 閱讀 3236

1樓:匿名使用者

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

與程序的區別:

2)資源擁有:程序是資源分配和擁有的單位,同乙個程序內的執行緒共享程序的資源。

3)執行緒是處理器排程的基本單位,但程序不是。

4)二者均可併發執行。

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

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

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

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

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

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

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

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

乙個執行緒可以創世陵建和撤銷另乙個蘆返殲執行緒;同乙個程序中的多個執行緒之間可以併發執行。

2樓:網友

在現代作業系統中,程序是持有資源的乙個單位,比如你開啟了乙個exe程式,那麼這個執行中的exe就是乙個程序,它有自己的資源(如記憶體),別的程序在未被許銷碰可的情況下不允許訪問這些資源。執行緒是程式的一次執行,同一程序可能包含1到多個執行緒。程序是靜態的,執行緒是動態的。

你可以冊鬥和把程序理解為乙個工廠,工廠有自己的資源,外部人未經許可不得使用;但是工廠本身不能幹活,它至少要有乙個工人(單執行緒),也可以有多個工人(多執行緒),乙個工人的每一次生產活動都州盯可以被認為是執行緒的一次執行。工人共享生產資源(當然要在被允許的情況下)。若干個工人在同一時間一起幹活叫併發,必須等別人幹完你才能幹叫同步。

工廠白天生產時的狀態叫程序執行態,晚上工人下班後的狀態叫程序就緒態,工廠可以開工但是要等待原材料叫程序等待態,工廠完蛋了被關門了叫程序掛起態,工廠鹹魚翻身了又可以進入前面的任意狀態。

做做開發慢慢就理解了。經驗問題。系統做的真爛。

程序和執行緒之間的區別與聯絡?

3樓:網友

程序是系統分配的最小單位,執行緒是系統排程的最小單位,且程序有獨立的空間,而執行緒是共享堆疊,資料,**段,而程序只是共享**段,且程序是分寫時複製的功能(需要用時才共享堆疊資料等)

4樓:匯賢

程序:正在進行中的程式。

執行緒:程序中乙個負責程式執行的控制單元(執行路徑)。

乙個程序中可以多執行路徑,稱之為多執行緒。

乙個程序中至少要有乙個執行緒。

程序和執行緒是什麼,有什麼區別呢

5樓:啃芝士

程序和執行緒是什麼關係?有什麼區別?

6樓:愛尚實訓_博雅

乙個程式有乙個或多個程序,乙個程序有乙個或多個執行緒。

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

執行緒和程序的關係和區別

7樓:小葉教育問答

執行緒和程序的關係和區別分別如下:

一、執行緒與程序的關係

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

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

3)執行緒在執行過程中需要協作同步。不同程序中的執行緒之間要利用訊息通訊的方法實現同步;

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

5)執行緒是程序的乙個執行單元,也是程序內的可呼叫實體。

二、執行緒和程序的區別:

程序和執行緒的主要差別在於它們是不同的作業系統資源管理方式。程序有獨立的位址空間,乙個程序崩潰後,在保護模式下不會對其他程序產生影響,而執行緒只是乙個程序中的不同執行路徑。

執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的位址空間,乙個執行緒死掉就等於整個程序死掉,所以多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些。但對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

快速瞭解執行緒與程序:

計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。假定工廠的電力有限,一次只能供給乙個車間使用。也就是說,乙個車間開工的時候,其他車間都必須停工。

背後的含義就是,單個cpu一次只能執行乙個任務。程序就好比工廠的車間,它代表cpu所能處理的單個任務。任一時刻,cpu總是執行乙個程序,其他程序處於非執行狀態。

乙個車間裡,可以有很多工人。他們協同完成乙個任務。執行緒就好比車間裡的工人。

乙個程序可以包括多個執行緒。車間的空間是工人們共享的,比如許多房間是每個工人都可以進出的。這象徵乙個程序的記憶體空間是共享的,每個執行緒都可以使用這些共享記憶體。

黑枸杞和紅枸杞的區別有哪些 哪種更好

黑枸杞富含的蛋白質,氨基酸,礦物質和微量元素都比紅枸杞的含量要多,黑枸杞還富含紅枸杞沒有的原花青素opc,是最有效的天然水溶性自由基清除劑,其功效是vc的20倍,ve的50倍。黑枸杞多為野生,與人工大面積種植的紅枸杞相比,產量少,採收成本高,因此 比紅枸杞要貴,目前市場上最好的是青海柴達木的野生黑枸...

UI設計與美工的區別有哪些

ui設計和 美工的區別?首先來說 平面設計 通常指的是線下生活中傳達資訊為主的視覺設計。也是我們常說的視覺傳達設計。主要目的是將 視覺 作為溝通和表現的方式,更好地宣傳品牌資訊。在我們的日常生活中常見的有標識 出版物 平面廣告 海報 廣告牌 標誌和產品包裝。而 網頁設計 則簡稱web介面設計,可以根...

MBA與EMBA的區別有哪些,MBA與EMBA分別指什麼?有什麼區別?請專業人士指點

學費不同 emba是高階工商管理碩士,針對的是企業高管,不需要全國聯考,畢業只有學位 即emba學位 學費較貴,上課通常是一個月選擇四天連續上,將某一科目上完。俗稱 模組化 教學。mba是工商管理碩士,報考的人有的是企業中層領導,或基層管理者,也有未當管理者的普通職員。要參加全國mba聯考 考綜合和...