今天給大家分享一下線(xiàn)程與進(jìn)程,主要包含以下幾部分內(nèi)容:
- 一句話(huà)說(shuō)明線(xiàn)程和進(jìn)程
- 操作系統(tǒng)為什么需要進(jìn)程
- 為什么要引入線(xiàn)程
- 一圖說(shuō)明線(xiàn)程和進(jìn)程的關(guān)系
一句話(huà)讓你理解進(jìn)程和線(xiàn)程
進(jìn)程:是指?個(gè)內(nèi)存中運(yùn)?的應(yīng)?程序,比如QQ、微信、瀏覽器等;?個(gè)應(yīng)?程序也可以同時(shí)運(yùn)?多個(gè)進(jìn)程,比如同時(shí)打開(kāi)兩個(gè)QQ、瀏覽器。
線(xiàn)程:1個(gè)進(jìn)程(應(yīng)用程序)可能需要同時(shí)執(zhí)行幾個(gè)任務(wù),比如QQ可以同時(shí)視頻、傳輸文件、文字聊天,可以使用一個(gè)線(xiàn)程負(fù)責(zé)處理視頻,一個(gè)線(xiàn)程負(fù)責(zé)傳輸文件,一個(gè)線(xiàn)程負(fù)責(zé)文字聊天,讓這些任務(wù)并發(fā)執(zhí)行。
進(jìn)程我們可以從任務(wù)管理器中查看到,也可以使用快捷鍵ctrl+alt+del鍵快速調(diào)出任務(wù)管理器。在進(jìn)程上點(diǎn)擊"結(jié)束任務(wù)"即可看到該應(yīng)用程序被關(guān)閉掉了。
演示一:進(jìn)程查看
演示二:一個(gè)應(yīng)用程序同時(shí)運(yùn)行多個(gè)進(jìn)程(同時(shí)打開(kāi)兩個(gè)QQ)
我們平時(shí)使用電腦上網(wǎng)、打游戲、聽(tīng)歌、購(gòu)物,實(shí)際上都是運(yùn)行一個(gè)個(gè)的程序。
程序,實(shí)際上就是一些命令集合,操作系統(tǒng)讓這些指令運(yùn)行起來(lái),讓你能夠享受這些程序提供的服務(wù)。
執(zhí)行指令的核心部件就是CPU,生活中通常說(shuō)是幾核的,核越多,并行處理的程序越多,能大大地提高電腦運(yùn)行的效率。
但是一個(gè)電腦/手機(jī)的CPU數(shù)量是有限的,如何讓有限的CPU同時(shí)執(zhí)行各種程序呢?
操作系統(tǒng)通過(guò)時(shí)分共享來(lái)實(shí)現(xiàn),時(shí)分共享是操作系統(tǒng)共享系統(tǒng)資源最基本的技術(shù)之一。
假如操作系統(tǒng)上運(yùn)行著3個(gè)程序,那么CPU每次運(yùn)行一個(gè)程序,然后在下一個(gè)時(shí)間點(diǎn),運(yùn)行第二個(gè)程序,然后很快切到第三個(gè)程序。
由于CPU切換得非??欤瑢?duì)于用戶(hù)來(lái)說(shuō),就像3個(gè)程序同時(shí)運(yùn)行起來(lái)一樣。
但是程序切換有一些問(wèn)題需要解決:
1、程序是否正在運(yùn)行
2、上一次CPU運(yùn)行到哪一個(gè)指令,切換后需要從上一次中斷處重新運(yùn)行
3、每個(gè)程序都會(huì)占用一定的系統(tǒng)資源,例如內(nèi)存,如何保證每個(gè)進(jìn)程的資源安全與獨(dú)立性。
為了讓操作系統(tǒng)輕松明白程序的上述信息,我們使用進(jìn)程對(duì)程序進(jìn)行抽象,打開(kāi)一個(gè)應(yīng)用就在系統(tǒng)中開(kāi)了一個(gè)進(jìn)程,每個(gè)進(jìn)程都有1個(gè)獨(dú)立的內(nèi)存空間。
引入線(xiàn)程之后,不僅是進(jìn)程之間可以并發(fā),進(jìn)程內(nèi)的各線(xiàn)程之間也可以并發(fā),從而進(jìn)一步提升了系統(tǒng)的并發(fā)度,使得一個(gè)進(jìn)程內(nèi)也可以并發(fā)處理各種任務(wù)(如QQ這個(gè)進(jìn)程可以同時(shí)視頻、文字聊天、傳文件)。
簡(jiǎn)而言之:?個(gè)程序運(yùn)?后?少有?個(gè)進(jìn)程,?個(gè)進(jìn)程中可以包含多個(gè)線(xiàn)程。
另外,還要注意兩個(gè)概念并發(fā)和并行。
并發(fā):進(jìn)程和線(xiàn)程都是為了提高CPU的并發(fā)能力,
并行:而多個(gè)CPU系統(tǒng)中,則這些可以并發(fā)執(zhí)行的程序便可以分配到多個(gè)處理器上( CPU ),實(shí)現(xiàn)多任務(wù)并行處理。
-
程序
+關(guān)注
關(guān)注
117文章
3826瀏覽量
82996 -
線(xiàn)程
+關(guān)注
關(guān)注
0文章
508瀏覽量
20217 -
進(jìn)程
+關(guān)注
關(guān)注
0文章
207瀏覽量
14285
發(fā)布評(píng)論請(qǐng)先 登錄
論壇有獎(jiǎng)?wù)骷顒?dòng),一句話(huà)贏獎(jiǎng)品!
準(zhǔn)備入門(mén),誰(shuí)來(lái)用一句話(huà)告訴我它和51的區(qū)別以及其應(yīng)用,就是一句話(huà)
如何用一句話(huà)證明你是程序員?41 個(gè)答案揭曉!精選資料分享
淺談多進(jìn)程多線(xiàn)程的選擇
Linux一句話(huà)精彩問(wèn)答 pdf
一句話(huà)點(diǎn)評(píng)2012年20大技術(shù)前瞻
AI 軟件TLDR:可用一句話(huà)概括文章
一句話(huà)解決嵌入式開(kāi)發(fā)ping問(wèn)題

評(píng)論