1. 程式人生 > >程式、程序和執行緒的關係

程式、程序和執行緒的關係

  程式(Program或Procedure,港臺稱之為程式)是一組用計算機語言編寫的命令序列的集合。程式並不能單獨執行,只有將程式裝載到記憶體中,系統為它分配資源才能執行,而這種執行的「程式」就稱之為程序。執行緒是系統分配處理器時間資源的基本單元。每啟動一個程式,就至少啟動了一個程序。 
  程式、程序與執行緒的關係 
  程序(Process,臺灣譯作行程)是計算機中已執行程式的實體。程式本身只是指令的集合,程序才是程式(那些指令)的真正執行。程序本身不會執行,是執行緒的容器。執行緒不能單獨執行,必須組成程序。一個程式至少有一個程序,一個程序至少有一個執行緒。 
  程式、程序與執行緒的關係 
  執行緒(Thread,臺灣稱執行緒)是程序中某個單一順序的控制流,指執行中的程式的排程單位。在單個程式中同時執行多個執行緒完成不同的工作,稱為多執行緒。多執行緒主要是為了節約CPU時間。 
  程式、程序與執行緒的關係


  在工作管理員中檢視程序和執行緒 
  執行緒自己不擁有系統資源,只擁有一點在執行中必不可少的資源(執行緒的執行中需要使用計算機的記憶體資源和CPU),但它可與同屬一個程序的其它執行緒共享程序所擁有的全部資源。通常在一個程序中可以包含若干個執行緒,它們可以利用程序所擁有的資源。一個執行緒可以建立和撤銷另一個執行緒,同一個程序中的多個執行緒之間可以併發執行。

注意:

(1)程式是指令的有序集合,其本身沒有任何執行的含義,是一個靜態的概念;

程序是程式在處理機上的一次執行過程,是執行中的程式,是一個動態的概念。

(2)程式可作為一種軟體材料長期存在;

程序是有一定生命週期的,是暫時存在的。

(3)同一程式可以對應多個程序。也就是說同一程式同時運行於若干個資料集合上,它屬於若干個不同的程序。但是程式並不能獨立執行,作為資源分配和獨立執行的基本單元都是程序。

相關推薦

程式程序執行關係

  程式(Program或Procedure,港臺稱之為程式)是一組用計算機語言編寫的命令序列的集合。程式並不能單獨執行,只有將程式裝載到記憶體中,系統為它分配資源才能執行,而這種執行的「程式」就稱之為程序。執行緒是系統分配處理器時間資源的基本單元。每啟動一個程式,就至少啟動了一個程序。        程序

程式程序執行之間的聯絡區別

定義:   一 程式只是一組指令的有序集合。   二 程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的一個獨立單位;   三 執行緒是程序的一個實體,是CPU排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基

java多執行:1程式程序執行

宣告:本教程不收取任何費用,歡迎轉載,尊重作者勞動成果,不得用於商業用途,侵權必究!!! 文章目錄 程式 程序 執行緒 程式 是計算機指令的集合,它以檔案的形式儲存在磁碟上。   程序 是一個程式在其自身的地址空間中的一次執行活動。 如:當我

CPU的核程序執行

轉自https://www.cnblogs.com/-new/p/7234332.html   一、CPU與核心 物理核 物理核數量=cpu數(機子上裝的cpu的數量)*每個cpu的核心數 虛擬核 所謂的4核8執行緒,4核指的是物理核心。通過超執行緒技術,用一個物理核模擬

程序執行協程在python中的使用

三、程序和執行緒、協程在python中的使用   1、多程序一般使用multiprocessing庫,來利用多核CPU,主要是用在CPU密集型的程式上,當然生產者消費者這種也可以使用。多程序的優勢就是一個子程序崩潰並不會影響其他子程序和主程序的執行,但缺點就是不能一次性啟動太多程序,會嚴重影響系統的資源排程

程式程序執行(二)

在前一章部落格(《程式、程序與執行緒(一)》)中,我們已經瞭解了程式與程序的概念與區別,今天我們再來講講程序與執行緒。程序用得好好的為何還要出現執行緒呢?首先我們來看看程序的一些侷限性。 一、程序的侷限性 1、建立子程序時每次都要把父程序的資料都copy一份,造成資源空間

程序執行關係及區別

1.定義 程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動;程序是系統進行資源分配和排程的一個獨立單位。 執行緒是程序的一個實體,是CPU排程和分派的基本單位;它是比程序更小的能獨立執行的基本單位;同屬一個程序的不同執行緒之間共享程序所擁有的全部資源。 一個

Linux程序執行關係淺析 (轉載)

  程序概念   程序是表示資源分配的基本單位,又是排程執行的基本單位。例如,使用者執行自己的程式,系統就建立一個程序,併為它分配資源,包括各種表格、記憶體空間、磁碟空間、I/O裝置等。然後,把該程序放人程序的就緒佇列。程序排程程式選中它,為它分配CPU以及其它有關資源,該程序才真正執行。所以,

三十七Linux 執行——執行清理控制函式程序執行啟動方式比較執行的狀態轉換

37.1 執行緒清理和控制函式 1 #include <pthread.h> 2 3 void pthread_cleanup_push(void (* rtn)(void *), void *arg); 4 void pthread_cleanup_pop(int execute);

作業系統中任務程序執行總結

多工處理是指使用者可以在同一時間內執行多個應用程式,每個正在執行的應用程式被稱為一個任務。linux 就是一個支援多工的作業系統(Windows也是多工作業系統),比起單任務系統它的功能增強了許多。          多工作業系統使用某種排程策略支援多個任務併發執行。事

Android 程序執行關係

簡單介紹一下,程序和執行緒的關係。 Processes and Threads 程序和執行緒之間的關係. 一個程序裡面可以有多個執行緒. 程序如果掛了, 執行緒就沒了 程序優先順序 Foreground process 前臺程序 優先級

程序程序程序執行

子程序繼承的來自父程序的屬性: ●已開啟的檔案描述符 ●實際使用者ID、實際組ID、有效使用者ID、有效組ID ●附屬組ID ●程序組ID ●會話ID ●控制終端 ●設定使用者ID標誌

1試對程式程序執行的慨念功能進行比較?

答:程式 是計算機指令的集合它,以檔案的形式儲存在磁碟上。 程序是一個程式在其 自身的地址空間中的一次執行活動。 程序是資源申請、排程和獨立執行的單位,因此,它使用系統中的執行資源,而程式不能申請系統資源,不能被系統排程,也不能作為獨立執行的單位,因此,它不佔系統的執行資源。 執行緒:程序中的一個單一的連續控

什麼是程式,程序執行?三者之間有何關係?

程序 程序與執行緒的歷史 我們都知道計算機是由硬體和軟體組成的。硬體中的CPU是計算機的核心,它承擔計算機的所有任務。 作業系統是執行在硬體之上的軟體,是計算機的管理者,它負責資源的管理和分配、任務的排程。 程式是執行在系統上的具有某種功能的軟體,

每個程式設計師都會遇到的面試問題:談談程序執行的區別

當你剛入職場時,無論你是用C++還是Java甚至只是應聘運維崗位,相信你都會遇到這個問題。 這是一個很基礎的問題,但又是一個很考驗人水平的問題。 說基礎是因為每個學計算機的人都應該懂,程序執行緒是計算機的基礎概念,是每個程式設計師時時刻刻都要接觸的東西。 但這又是一個充

【面試】每個程式設計師都會遇到的面試問題:談談程序執行的區別

當你剛入職場時,無論你是用C++還是Java甚至只是應聘運維崗位,相信你都會遇到這個問題。 這是一個很基礎的問題,但又是一個很考驗人水平的問題。 說基礎是因為每個學計算機的人都應該懂,程序執行緒是計算機的基礎概念,是每個程式設計師時時刻刻都要接觸的東西。 但這又是一個充

程序執行的主要區別及程序程式的主要區別

1.程序和執行緒的主要區別 根本區別:程序是作業系統資源分配的基本單位,而執行緒是任務排程和執行的基本單位 在開銷方面:每個程序都有獨立的程式碼和資料空間(程式上下文),程式之間的切換會有較大的開銷;執行緒可以看做輕量級的程序,同一類執行緒共享程式碼和資料空間,每個執行緒

asyncawaitTask執行執行關係

計算機進入多核時代,開發人員想要充分利用計算機核心,需要編寫多執行緒程式。執行緒屬於程序,理想狀態下,在4核的計算機上最好有4個執行緒。 早期的執行緒建立是利用 Thread類,執行緒的建立需要花費很多時間,基於此,微軟公司為開發人員建立了執行緒池,執行緒池具有智慧爬山演算法,可以 根據執行

程序執行的區別相同點

1、首先是定義 程序:是執行中一段程式,即一旦程式被載入到記憶體中並準備執行,它就是一個程序。程序是表示資源分配的的基本概念,又是排程執行的基本單位,是系統中的併發執行的單位。 執行緒:單個程序中執行中每個任務就是一個執行緒。執行緒是程序中執行運算的最小單位。 2、一個執行

程序執行的定義區別與聯絡

一、程序程序:指在系統中能獨立執行並作為資源分配的基本單位,它是由一組機器指令、資料和堆疊等組成的,是一個能獨立執行的活動實體。注意,程序一般有三個狀態:就緒狀態、執行狀態和等待狀態【或稱阻塞狀態】;