程序和執行緒的區別

2022-07-05 22:09:12 字數 531 閱讀 2446

1.什麼是程序

程序是指乙個執行程式的執行,是個動態概念,是程式在執行中分配和管理資源的基本單位,程序多有乙個的自己的位址空間,它還有五種基本的狀態,初始狀態,執行狀態,等待狀態,就緒狀態,終止狀態

2什麼是執行緒

執行緒是cpu排程和分派的基本單位,同屬同乙個程序中的所有執行緒共享該執行緒的所有資源

3,程序和執行緒的之間的聯絡

執行緒是程序中的一部分,乙個程序中至少有乙個程序,乙個執行緒只能屬於乙個程序

4,程序和執行緒的區別

(1)基本區別

程序是在作業系統中分配管理資源的的基本單位,而執行緒是cpu排程和分派的基本單位

(2)開銷方面

程序是在系統是獨立的,擁有獨立的**和資料空間,所以切換起來花銷比較大

而執行緒是乙個輕量級的程序,同一類的執行緒是可以共享**和資料空間的,所以花銷比較小,而且每乙個執行緒多有自己獨立的執行棧和程式計數器

(3)記憶體分配方面

系統在執行時會給各個程序分配不同的記憶體空間,而執行緒系統不會給它分配記憶體空間,處理cpu之外,執行緒之間可以共享資源

執行緒和程序的區別

易於排程。執行緒切換比程序切換要快。虛擬記憶體空間,io裝置等 開銷小。建立執行緒比建立進行要快,所需開銷小。進展用少量資源,如棧和暫存器。提高併發性。程序可以建立多個執行緒來執行統一程式的不同任務。有利於充分發揮多處理器的功能。通過建立多執行緒的程序,每個執行緒在乙個處理器上執行,從而實現了應用程...

執行緒和程序的區別

這個問題我查了不下4次,每次都是突然想到查一下,當時明白,完了又會混淆 首先我們知道 程序 執行緒 執行緒 在乙個程式裡面的多個任務,比如賣票系統,他有退票和賣票的功能,我們就可以給他稱之為執行緒。程序 我們開啟任務管理器可以看到的是我們在系統上執行的程式稱之為執行緒 總之,乙個程式必須有乙個程序,...

執行緒和程序的區別

1.計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。2.假定工廠的電力有限,一次只能供給乙個車間使用。也就是說,乙個車間開工的時候,其他車間都必須停工。背後的含義就是,單個cpu一次只能執行乙個任務。3.程序就好比工廠的車間,它代表cpu所能處理的單個任務。任一時刻,cpu...