溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

IOS 線程與進(jìn)程的區(qū)別

發(fā)布時(shí)間:2020-07-12 21:20:14 來源:網(wǎng)絡(luò) 閱讀:526 作者:RoderickKennedy 欄目:移動(dòng)開發(fā)

線程是進(jìn)程中某一個(gè)單一順序的控制流,也被成為輕量級(jí)進(jìn)程(lightweight processes)是CPU調(diào)度和分派的基本單元;進(jìn)程是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ),是一個(gè)正在執(zhí)行的程序,計(jì)算機(jī)中正在運(yùn)行的程序?qū)嵗?,可以分配給處理器并由處理器執(zhí)行的一個(gè)實(shí)體,由單一順序的執(zhí)行顯示,一個(gè)當(dāng)前狀態(tài)和一組相關(guān)的系統(tǒng)資源所描述的活動(dòng)單元。也被稱之為重量級(jí)進(jìn)程(heavyweight processes)

從調(diào)度、并發(fā)性、系統(tǒng)開銷、擁有資源等方面對(duì)線程和進(jìn)程進(jìn)行比較

調(diào)度

在傳統(tǒng)的操作系統(tǒng)中,CPU調(diào)度和分派的基本單位是進(jìn)程,而在引入線程的操作系統(tǒng)中則把線程作為CPU調(diào)度和分 派的基本單位,進(jìn)程則作為資源擁有的基本單位,從而使傳統(tǒng)進(jìn)程的兩個(gè)屬性分開,線程便能輕裝運(yùn)行,這樣可以顯著提高系統(tǒng)的并發(fā)性。同一進(jìn)程中線程的切換不會(huì)引起進(jìn)程的切換,從而避免了昂貴的系統(tǒng)調(diào)用,但是在由一個(gè)進(jìn)程中的線程切換到另一個(gè)進(jìn)程中的線程時(shí)便會(huì)引起進(jìn)程的切換。

并發(fā)性

在引入線程的操作系統(tǒng)中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線程之間也可以并發(fā)執(zhí)行,因而使操作系統(tǒng)具有更好的并發(fā)性,從而能夠有效的利用系統(tǒng)資源和提高系統(tǒng)的吞吐量。例如,在一個(gè)未引入線程的單CPU操作系統(tǒng)中,若僅設(shè)置一個(gè)文件服務(wù)進(jìn)程當(dāng)它由于某種原因被封鎖時(shí),變沒有其他的文件服務(wù)進(jìn)行來提供服務(wù),在引入了線程的操作系統(tǒng)中,可以在一個(gè)文件服務(wù)進(jìn)程中設(shè)置多個(gè)線程,當(dāng)?shù)谝粋€(gè)線程等待時(shí),文件服務(wù)進(jìn)程中的第二個(gè)線程可以繼續(xù)運(yùn)行;當(dāng)?shù)诙€(gè)線程封鎖封鎖時(shí),第三個(gè)線程可以繼續(xù)執(zhí)行從而顯著提高了文件服務(wù)的質(zhì)量以及系統(tǒng)的吞吐量

系統(tǒng)開銷

無論是引入了線程的操作系統(tǒng)還是傳統(tǒng)的操作系統(tǒng),進(jìn)程都是擁有系統(tǒng)資源的一個(gè)獨(dú)立單位,他可以擁有自己的資源,一般線程自己不擁有系統(tǒng)資源但它可以訪問它隸屬的進(jìn)程的資源。也就是說,一個(gè)進(jìn)程的代碼段數(shù)據(jù)段及系統(tǒng)資源可供同一進(jìn)程的其他所有線程使用。

擁有資源

由于在創(chuàng)建或撤銷進(jìn)程時(shí),系統(tǒng)都要為之分配或回收資源,如內(nèi)存空間 I/O設(shè)備等,因此操作系統(tǒng)所付出的開銷將顯著的大于在創(chuàng)建或撤銷進(jìn)程時(shí)的開銷。類似的在進(jìn)程切換時(shí),涉及到整個(gè)當(dāng)前進(jìn)程CPU環(huán)境的保存環(huán)境的設(shè)置以及新被調(diào)度運(yùn)行的進(jìn)程的CPU環(huán)境的設(shè)置,而線程的切換只需保存和設(shè)置少量寄存器的內(nèi)容,并不涉及寄存器管理方面的操作??梢娺M(jìn)程切換的開銷要遠(yuǎn)遠(yuǎn)大于線程切換的開銷,此外由于同一進(jìn)程中的多個(gè)線程具有相同的地址空間,致使他們之間的同步和通信的實(shí)現(xiàn)也變得相對(duì)容易,在有的系統(tǒng)中線程的切換同步和通信都無需操作系統(tǒng)內(nèi)核干預(yù)。



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI