程式、程序、執行緒 的概念
阿新 • • 發佈:2022-04-10
1、程式(program)是為完成特定任務、用某種語言編寫的一組指令的集合。即指一段靜態的程式碼,靜態物件。
2、程序(process)是程式的一次執行過程,或是正在執行的一個程式。是一個動態的過程:有它自身的產生、存在和消亡的過程。——生命週期
如:執行中的QQ,執行中的MP3播放器 程式是靜態的,程序是動態的 程序作為資源分配的單位,系統在執行時會為每個程序分配不同的記憶體區域 3、執行緒(thread),程序可進一步細化為執行緒,是一個程式內部的一條執行路徑。 若一個程序同一時間並行執行多個執行緒,就是支援多執行緒的 執行緒作為排程和執行的單位,每個執行緒擁有獨立的執行棧和程式計數器(pc),執行緒切換的開銷小。 一個程序中的多個執行緒共享相同的記憶體單元/記憶體地址空間---》它們從同一堆中分配物件,可以訪問相同的變數和物件。這就使得執行緒間通訊更簡便、高效。但多個執行緒操作共享的系統資源可能就會帶來安全的隱患。
2、程序(process)是程式的一次執行過程,或是正在執行的一個程式。是一個動態的過程:有它自身的產生、存在和消亡的過程。——生命週期
如:執行中的QQ,執行中的MP3播放器 程式是靜態的,程序是動態的 程序作為資源分配的單位,系統在執行時會為每個程序分配不同的記憶體區域 3、執行緒(thread),程序可進一步細化為執行緒,是一個程式內部的一條執行路徑。 若一個程序同一時間並行執行多個執行緒,就是支援多執行緒的 執行緒作為排程和執行的單位,每個執行緒擁有獨立的執行棧和程式計數器(pc),執行緒切換的開銷小。 一個程序中的多個執行緒共享相同的記憶體單元/記憶體地址空間---》它們從同一堆中分配物件,可以訪問相同的變數和物件。這就使得執行緒間通訊更簡便、高效。但多個執行緒操作共享的系統資源可能就會帶來安全的隱患。