欧美亚洲综合成人a∨在线,中文在线中文a,一二三四在线观看免费视频 ,在教室伦流澡到高潮h,亚洲综合性av私人影院

KK教程資訊:帶你了解最前沿的技術(shù)、資訊,海納百川,學(xué)無止境!

您現(xiàn)在的位置:首頁 > > 資訊教程 > 系統(tǒng)教程 >

進程和線程的區(qū)別,揭秘線程和進程的區(qū)別是什么,兩者的關(guān)系

2019-09-24作者:KK小編來源:KK下載站整理
進程對于有一點會玩電腦的朋友都知道,我們打開任務(wù)管理器就可以看到很多進程,這些進程有些是系統(tǒng)的,有些是第三方軟件的,那么還有一個線程大家又知道是什么嗎?進程和線程的區(qū)別,兩者又有什么關(guān)系呢?下面KK小編就帶大家一起來學(xué)習(xí)一下關(guān)于進程,線程的相關(guān)知識。

進程和線程的區(qū)別,揭秘進程和線程的區(qū)別是什么,兩者的關(guān)系

進程是什么?

1、進程中可以包括有多個線程,也可以只有一個線程,進程與進程之間是相對比較獨立的。

2、進程中有一個邏輯內(nèi)存,每個進程都會有分配到一個獨立的內(nèi)存空間,還分配了一個文件/網(wǎng)絡(luò)句柄,句柄類似一個標(biāo)識符,所有的進程所或多或少都有一定的句柄數(shù)的引用,句柄實際上是一個指針,指向一塊包含具體信息數(shù)據(jù)的內(nèi)存,所以句柄是當(dāng)你要訪問該進程時取得的,使用完必須釋放。(打個比方,我要使用redis需要打開6379端口,這個時候需要訪問句柄,獲取到內(nèi)存地址去訪問獲取對應(yīng)的資源來執(zhí)行該進程)

3、一個進程可以擁有多個句柄數(shù)目,但是只有一個進程ID

4、進程不同時刻所引用的句柄數(shù)目是不一定的

進程和線程的區(qū)別,揭秘進程和線程的區(qū)別是什么,兩者的關(guān)系

線程是什么?

1、線程中有一個棧內(nèi)存(很多人把它稱為堆棧),主要用來存儲局部變量資源或者內(nèi)存地址

2、還有一個PC塊,主要是存儲下一條執(zhí)行指令的地址,PC是指向一塊共同的內(nèi)存(進程里面的被系統(tǒng)分配到的邏輯內(nèi)存)。

3、TCS :ThreadLocalStorage 主要存儲線程自己定義的變量,不想和其他線程進行共享,理解為線程的私有變量。

4、線程共享進程的資源主要有:進程代碼塊、進程的全局和靜態(tài)變量、進程打開的文件描述符、信號的處理器、進程當(dāng)前的目錄、進程ID、進程組ID。

 

進程和線程的區(qū)別


根本區(qū)別:進程是操作系統(tǒng)資源分配的基本單位,而線程是任務(wù)調(diào)度和執(zhí)行的基本單位

在開銷方面:每個進程都有獨立的代碼和數(shù)據(jù)空間(程序上下文),程序之間的切換會有較大的開銷;線程可以看做輕量級的進程,同一類線程共享代碼和數(shù)據(jù)空間,每個線程都有自己獨立的運行棧和程序計數(shù)器(PC),線程之間切換的開銷小。

所處環(huán)境:在操作系統(tǒng)中能同時運行多個進程(程序);而在同一個進程(程序)中有多個線程同時執(zhí)行(通過CPU調(diào)度,在每個時間片中只有一個線程執(zhí)行)

內(nèi)存分配方面:系統(tǒng)在運行的時候會為每個進程分配不同的內(nèi)存空間;而對線程而言,除了CPU外,系統(tǒng)不會為線程分配內(nèi)存(線程所使用的資源來自其所屬進程的資源),線程組之間只能共享資源。

包含關(guān)系:凡是進程必須有并且至少有一個線程,只有一個線程的話我們可以看做是單線程,如果一個進程內(nèi)有多個線程,則執(zhí)行過程不是一條線的,而是多條線(線程)共同完成的;線程是進程的一部分,所以線程也被稱為輕權(quán)進程或者輕量級進程。

 
Tags:責(zé)任編輯:KK小編

相關(guān)文章

相關(guān)下載

關(guān)注KK手機站