關閉→
當前位置:知科普>IT科技>程序與執行緒的區別

程序與執行緒的區別

知科普 人氣:2.3W
程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的一個獨立單位.

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

那麼它們之間有什麼區別呢,一起來看看吧!

方法

一個程式至少有一個程序,一個程序至少有一個執行緒.

程序與執行緒的區別

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

程序與執行緒的區別 第2張

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

程序與執行緒的區別 第3張

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

程序與執行緒的區別 第4張

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

程序與執行緒的區別 第5張

執行緒執行開銷小,但不利於資源的管理和保護;而程序正相反。

程序與執行緒的區別 第6張

執行緒適合於在SMP機器上執行,而程序則可以跨機器遷移。

程序與執行緒的區別 第7張
TAG標籤:#執行緒 #程序 #