執行緒和程序有什麼區別

2022-09-09 23:18:34 字數 862 閱讀 3173

1、程序:程序在作業系統中可以獨立執行,是作業系統進行資源分配和排程的基本單元。

2、執行緒:執行緒是程序中的乙個例項,作為系統排程和分派的基本單位,是程序中的一段序列,能夠完成程序中的乙個功能。

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

1)同乙個程序可以包含多個執行緒,乙個程序中至少包含乙個執行緒,乙個執行緒只能存在於乙個程序中。

2)同乙個程序下的所有執行緒能夠共享該程序下的資源。(系統執行時會為每個程序分配不同的記憶體區域,但不會為執行緒分配記憶體。執行緒只能共享它所屬程序的資源。)

3)程序結束後,該程序下的所有執行緒將銷毀,而乙個執行緒的結束不會影響同一程序下的其他執行緒。

4)執行緒是輕量級的程序,它的建立和銷毀所需要的時間比程序小得多,所有作業系統的執行功能都是通過建立執行緒去完成的。

5)執行緒在執行時是同步和互斥的,因為他們共享同乙個程序下的資源。

6)在作業系統中,程序是擁有系統資源的獨立單元,它可以擁有自己的資源。一般而言,執行緒不能擁有自己的資源,但是它能夠訪問其隸屬程序的資源。

乙個程序可以定義程式的乙個例項。在win32中,程序並不執行什麼,它只是佔據應用程式所使用的位址空間。為了讓程序完成一定的工作,程序必須至少占有乙個執行緒,正是這個執行緒負責包含程序位址空間中的**。實際上,乙個程序可以包含幾個執行緒,它們可以同時執行程序位址空間中的**。為了做到這一點,每個執行緒有自己的一組cpu暫存器和堆疊。每個程序中至少有乙個執行緒在執行其位址空間中的**。如果沒有執行緒執行程序位址空間中的**,程序也就沒有繼續存在的理由,系統將自動清除程序及其位址空間。

4、執行緒的數量會受到什麼限制?

受記憶體限制。

程序和執行緒有什麼區別

目錄關係 區別是具有一定獨立功能的程式 它是系統進行資源分配和排程的乙個獨立單位,重點在系統排程和單獨的單位,也就是說程序是可以獨 立執行的一段程式。執行緒程序的乙個實體,是cpu排程和分派的基本單位,他是比程序更小的能獨立執行的基本單位,執行緒自己基本上不擁有系統資源。在執行時,只是暫用一些計數器...

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

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

有什麼區別

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