1. 程式人生 > >001.多執行緒-程序與執行緒的區別

001.多執行緒-程序與執行緒的區別

什麼是程序?顧名思義,就是進行中的程式,也就是執行中的程式。我們開啟電腦的工作管理員可以看到: 此時,執行中的360瀏覽器,Google瀏覽器等都是獨立的一個程序,他們擁有相應的系統資源,比如:CPU,記憶體,磁碟等。 但是程序間的建立、切換、撤銷以及多個程序的並行,均存在較大的時空開銷,因此,需要引入一種輕量級的程序。這種輕型的程序也就是執行緒。執行緒不擁有系統資源,但是同一個程序下的所有執行緒可以共享此程序內的系統資源,而且一個執行緒可以建立或撤銷另一個執行緒,多個執行緒也可以併發執行。一個執行緒不能獨立的存在,它必須是程序的一部分。一個程序 對於程序與執行緒之間的關係,我們可以簡單比喻為:一個車間對應於車間內的工人的關係。沒有了車間,車間內的人也就失去了工人的身份;車間內的每個員工是相互獨立的,而整個車間是相互共享的。

正如:一個執行緒不能獨立的存在,它必須是程序的一部分。程序的記憶體空間是天然獨立的;執行緒的記憶體空間是天然共享的。而且,執行緒是CPU的最小排程單位。