進(jìn)程(process):當(dāng)你的程序一旦被載入到內(nèi)存中執(zhí)行耐亏,那么你的這段程序就是一個進(jìn)程。一個或多個進(jìn)程組成系統(tǒng)當(dāng)中運(yùn)行的應(yīng)用程序胚委,如瀏覽器應(yīng)用竹椒。另系統(tǒng)也會為應(yīng)用的每一個進(jìn)程分配獨(dú)立的CPU、內(nèi)存等資源膝晾。
任務(wù)欄鼠標(biāo)右擊栓始,選中菜單中的“任務(wù)管理器”,然后打開血当,選中進(jìn)程選項(xiàng)幻赚。此時(shí)映入你眼簾的便是系統(tǒng)中的后臺進(jìn)程列表。沒錯臊旭,這里就是你查看進(jìn)程的地方落恼,而且你還可以看到每個進(jìn)程的內(nèi)存資源信息以及cpu占有率等。如圖(任務(wù)管理器):
由上圖你應(yīng)該也已經(jīng)察覺到了离熏,進(jìn)程是系統(tǒng)分配資源的最小單位佳谦。
線程(thread):進(jìn)程中執(zhí)行的每一個任務(wù)指的就是線程,系統(tǒng)不會為其分配內(nèi)存資源滋戳,各個線程共享進(jìn)程擁有的內(nèi)存資源钻蔑。
進(jìn)程與線程的關(guān)系:
1啥刻、內(nèi)存對資源分配的最小單位是進(jìn)程,而進(jìn)程執(zhí)行的最小單位是線程矢棚。
2郑什、一個程序至少有一個進(jìn)程,一個進(jìn)程至少有一個線程蒲肋。
3蘑拯、線程是不能夠脫離進(jìn)程而獨(dú)立運(yùn)行的。
4兜粘、當(dāng)你的進(jìn)程運(yùn)行時(shí)只產(chǎn)生一個線程申窘,被稱為單線程,否則被稱為多線程孔轴。
5剃法、單線程與多線程都是指的在同一進(jìn)程當(dāng)中的單或多。
6路鹰、線程越多意味著你在一個進(jìn)程中同時(shí)執(zhí)行的任務(wù)也就越多贷洲。
如果對進(jìn)程與線程還不了解晋柱,那我再給大家打一個比方:
1、假如進(jìn)程為一家公司雁竞,那么線程指的是為公司服務(wù)的員工钦椭。
2碑诉、公司擁有自己獨(dú)立的辦公空間,員工共享公司的辦公空間进栽。
3、一家公司至少有一名員工快毛,而員工也必須有一家自己所屬的公司格嗅。
4祸泪、一位員工需要一件件的去完成工作,多位員工可以協(xié)調(diào)完成工作没隘。
再來歸納下概念:
1懂扼、公司:進(jìn)程
2、員工:線程
3赶熟、公司有一個員工:單線程
4、公司有多名員工:多線程
5陷嘴、一位員工需要獨(dú)立完成工作:單線程需要按照程序的順序依次執(zhí)行,也就是說只有前面的處理好灾挨,后面的才會得到執(zhí)行。
6劳澄、多位員工協(xié)調(diào)完成工作:多個線程在進(jìn)程中協(xié)作完成任務(wù)地技,從而可以最大程度的使用內(nèi)存資源秒拔。
7、擁有獨(dú)立辦公空間:進(jìn)程之間獨(dú)立擁有系統(tǒng)所分配的內(nèi)存資源
8砂缩、員工共享公司辦公空間:線程沒有自己的內(nèi)存資源,多個線程共享進(jìn)程的內(nèi)存資源