web前端面試題及考點總結之程序與執行緒
程序(process):當你的程式一旦被載入到記憶體中執行,那麼你的這段程式就是一個程序。一個或多個程序組成系統當中執行的應用程式,如瀏覽器應用。另系統也會為應用的每一個程序分配獨立的CPU、記憶體等資源。
工作列滑鼠右擊,選中選單中的“工作管理員”,然後開啟,選中程序選項。此時映入你眼簾的便是系統中的後臺程序列表。沒錯,這裡就是你檢視程序的地方,而且你還可以看到每個程序的記憶體資源資訊以及cpu佔有率等。如圖(工作管理員):

由上圖你應該也已經察覺到了,程序是系統分配資源的最小單位。
執行緒(thread):程序中執行的每一個任務指的就是執行緒,系統不會為其分配記憶體資源,各個執行緒共享程序擁有的記憶體資源。
程序與執行緒的關係:
1、記憶體對資源分配的最小單位是程序,而程序執行的最小單位是執行緒。
2、一個程式至少有一個程序,一個程序至少有一個執行緒。
3、執行緒是不能夠脫離程序而獨立執行的。
4、當你的程序執行時只產生一個執行緒,被稱為單執行緒,否則被稱為多執行緒。
5、單執行緒與多執行緒都是指的在同一程序當中的單或多。
6、執行緒越多意味著你在一個程序中同時執行的任務也就越多。
如果對程序與執行緒還不瞭解,那我再給大家打一個比方:
1、假如程序為一家公司,那麼執行緒指的是為公司服務的員工。
2、公司擁有自己獨立的辦公空間,員工共享公司的辦公空間。
3、一家公司至少有一名員工,而員工也必須有一家自己所屬的公司。
4、一位員工需要一件件的去完成工作,多位員工可以協調完成工作。
再來歸納下概念:
1、公司:程序
2、員工:執行緒
3、公司有一個員工:單執行緒
4、公司有多名員工:多執行緒
5、一位員工需要獨立完成工作:單執行緒需要按照程式的順序依次執行,也就是說只有前面的處理好,後面的才會得到執行。
6、多位員工協調完成工作:多個執行緒在程序中協作完成任務,從而可以最大程度的使用記憶體資源。
7、擁有獨立辦公空間:程序之間獨立擁有系統所分配的記憶體資源
8、員工共享公司辦公空間:執行緒沒有自己的記憶體資源,多個執行緒共享程序的記憶體資源
—————END—————
[公眾號回覆“電子書”,送你經典前端電子書籍]
喜歡本文的朋友們,歡迎關注微信公眾號 張培躍 ,收看更多精彩內容