一、程序
(一)程序的概念
程序是指程式的一次執行過程,它具有生命週期,從建立到終止經歷了一系列的狀態變化。
(二)程序的作用
程序作為作業系統進行資源分配的基本單位,主要目的是為了實現程式的併發執行,從而提高系統的資源利用效率和處理能力。
(三)程序的限制
由於程序涉及資源的分配與回收,其建立和銷燬、以及狀態之間的切換都會消耗大量的系統資源(包括時間和空間),因此,在實際應用中,程序的數量不宜過多,以避免過度消耗系統資源。
二、執行緒
(一)執行緒的概念
執行緒是程序中可獨立排程和執行的基本單位,一個程序至少包含一個執行緒,也可以包含多個執行緒,這些執行緒共享程序的資源。
(二)執行緒的優勢
相對於程序,執行緒間的切換和通訊開銷較小,能夠更有效地支援併發操作,減少程式併發執行所需的時間和空間開銷。
(三)資源歸屬的區別
程序擁有獨立的地址空間,包括程式碼段、資料段、堆疊等資源;而執行緒除了自身必要的資源如程式計數器、一組暫存器和棧外,並不單獨擁有資源,而是與其他同屬一個程序的執行緒共享這些資源。