程序是由兩個部分構成的,乙個是程序核心物件,另乙個是位址空間。每個程序至少需要乙個執行緒,同樣,
執行緒也是由兩個部分組成的:
程序是不活躍的。程序從來不執行任何東西,這一點很關鍵,也就是程序不幹活,只是個工頭,是執行緒的容器。執行緒總是在某個程序環境中建立的,而且壽命期在程序內。執行緒在它的程序位址空間中執行,並對資料進行操作。在單程序環境中,多個執行緒之間可以併發執行,這兩個執行緒將共享單個位址空間。這些執行緒能夠執行相同的**,對相同的資料進行操作。這些執行緒還能共享核心物件控制代碼,因為控制代碼表依賴於每個程序存在而不是每個執行緒。
程序使用的系統資源比執行緒多得多,因為程序需要更多的位址空間。為程序建立乙個虛擬位址空間需要許多系統資源。系統中要保留大量的記錄,這要占用大量的記憶體。另外,由於.exe和.dll檔案要載入到乙個位址空間,因此也需要檔案資源。而執行緒使用的系統資源要少得多。實際上,執行緒只有乙個核心物件和乙個堆疊,保留的記錄很少,因此需要很少的記憶體。
總結一下:
程序與執行緒
程序 process 管理單元,管理分配應用程式的資料,的記憶體空間.執行緒 thread 執行單元,執行緒負責執行乙個預先編排好的 段,執行 棧是基於執行緒的.乙個應用程式啟動的時候,程序自動建立,並且會預設建立主線程,主線程負責執行main 方法.thread t new thread new ...
程序與執行緒
程序 是擁有資源的實體,包括 1。乙個程序有乙個虛擬位址空間,不同程序位於不同的 虛擬位址空間中。程序之間若要通訊,必須通過作業系統 的功能呼叫 ipc 2。程序擁有其他資源,例如開啟的檔案和i o裝置。程序結束時,作業系統會自動釋放該程序擁有的所有資源。例如,如果 open乙個檔案而不close它...
程序與執行緒
程序包括 1 私有的虛位址空間 2 可執行程式 與資料 3 開啟系統資源列表控制代碼 4 安全訪問標誌 5 程序id 6 至少有乙個執行執行緒 執行緒包括 1 一組cpu暫存器狀態 2 兩個堆疊 系統態與使用者態 3 tls 執行緒區域性儲存區 4 執行緒id 5 安全特性 因此程序是不活潑的,它從...