為了簡單起見,描述少一點。
程序英文名,process,解釋記住一句話:擁有獨立的執行空間。
執行緒英文名,lightweight process, 輕量級程序,解釋記住一句話:執行緒執行的路徑,多個執行緒共享乙個記憶體空間。
程序是乙個虛擬的概念,執行緒是真是存在的。
對於路徑的解釋,**中就是執行的順序,比如:
public funtion process () {
cout (' i am a process');
lightpro();
cout(" the process end ");
public function lightpro(){
cout(" in the lightpro function");
整個流程執行下來就是:
>> i am a process
>> in the lightpro function
>> the process end
多個路徑就是多執行緒了。
再來個簡單的解釋:乙個老闆給你們組布置了乙個任務,讓你們修房子,你們組有三個人,然後開始後,你們三個,乙個幹著,乙個幹那,另乙個幹那。都在乙個房子裡。
執行緒和程序
標準的定義是 程序是執行緒的容器,乙個程序可於乙個或者多個執行緒,它是系統分配資源的基本單位 同乙個程序下,執行緒共享位址空降 已經開啟的檔案 訊號處理函式 報警訊號和其他,執行緒自己只保留程式計數器和棧。但是很遺憾的,這個只是教科書上的定義,實際情況是每個作業系統實現的作業系統特性不同,實現的方法...
程序和執行緒
乙個程序就是當前正在執行的乙個程式,包括程式的暫存器 程式計數器和變數的當前值。不同的程序擁有不同的位址空間。而執行緒可以理解為是程序中的控制流。同乙個程序內也就是說在同乙個位址空間內可以有多個控制流。也就是可以有多個線 程,他們共享位址空間。我們通常將程序視為是資源的集合,程序中有程式的正文 資料...
執行緒和程序
對於求職者,在面試的時候大多都會被問到 你對多執行緒了解麼?給我講講執行緒和程序的區別吧。在unix中,乙個程序可以理解為執行緒 位址空間 檔案描述符 資料,道破現實,其實就相當於老闆和員工,老闆就是程序,員工就是執行緒。老闆需要僱傭若干員工 執行緒 還要有辦公樓 位址空間 還要有若干的辦公裝置 檔...