您現(xiàn)在的位置是:首頁 >生活 > 2023-11-28 20:48:18 來源:
線程和進(jìn)程的區(qū)別不正確的是(線程和進(jìn)程的區(qū)別)
大家好,我是小夏,我來為大家解答以上問題。線程和進(jìn)程的區(qū)別不正確的是,線程和進(jìn)程的區(qū)別很多人還不知道,現(xiàn)在讓我們一起來看看吧!
要了解二者的區(qū)別與聯(lián)系,首先得對進(jìn)程與線程有一個宏觀上的了解。
進(jìn)程,是并發(fā)執(zhí)行的程序在執(zhí)行過程中分配和管理資源的基本單位,是一個動態(tài)概念,竟?fàn)幱嬎銠C(jī)系統(tǒng)資源的基本單位。每一個進(jìn)程都有一個自己的地址空間,即進(jìn)程空間或(虛空間)。進(jìn)程空間的大小 只與處理機(jī)的位數(shù)有關(guān),一個 16 位長處理機(jī)的進(jìn)程空間大小為 216 ,而 32 位處理機(jī)的進(jìn)程空間大小為 232 。進(jìn)程至少有 5 種基本狀態(tài),它們是:初始態(tài),執(zhí)行態(tài),等待狀態(tài),就緒狀態(tài),終止?fàn)顟B(tài)。
線程,在網(wǎng)絡(luò)或多用戶環(huán)境下,一個服務(wù)器通常需要接收大量且不確定數(shù)量用戶的并發(fā)請求,為每一個請求都創(chuàng)建一個進(jìn)程顯然是行不通的,——無論是從系統(tǒng)資源開銷方面或是響應(yīng)用戶請求的效率方面來看。因此,操作系統(tǒng)中線程的概念便被引進(jìn)了。線程,是進(jìn)程的一部分,一個沒有線程的進(jìn)程可以被看作是單線程的。線程有時又被稱為輕權(quán)進(jìn)程或輕量級進(jìn)程,也是 CPU 調(diào)度的一個基本單位。
說到這里,我們對進(jìn)程與線程都有了一個大體上的印象,現(xiàn)在開始說說二者大致的區(qū)別。
進(jìn)程的執(zhí)行過程是線狀的,盡管中間會發(fā)生中斷或暫停,但該進(jìn)程所擁有的資源只為該線狀執(zhí)行過程服務(wù)。一旦發(fā)生進(jìn)程上下文切換,這些資源都是要被保護(hù)起來的。這是進(jìn)程宏觀上的執(zhí)行過程。而進(jìn)程又可有單線程進(jìn)程與多線程進(jìn)程兩種。我們知道,進(jìn)程有 一個進(jìn)程控制塊 PCB ,相關(guān)程序段 和 該程序段對其進(jìn)行操作的數(shù)據(jù)結(jié)構(gòu)集 這三部分,單線程進(jìn)程的執(zhí)行過程在宏觀上是線性的,微觀上也只有單一的執(zhí)行過程;而多線程進(jìn)程在宏觀上的執(zhí)行過程同樣為線性的,但微觀上卻可以有多個執(zhí)行操作(線程),如不同代碼片段以及相關(guān)的數(shù)據(jù)結(jié)構(gòu)集。線程的改變只代表了 CPU 執(zhí)行過程的改變,而沒有發(fā)生進(jìn)程所擁有的資源變化。出了 CPU 之外,計算機(jī)內(nèi)的軟硬件資源的分配與線程無關(guān),線程只能共享它所屬進(jìn)程的資源。與進(jìn)程控制表和 PCB 相似,每個線程也有自己的線程控制表 TCB ,而這個 TCB 中所保存的線程狀態(tài)信息則要比 PCB 表少得多,這些信息主要是相關(guān)指針用堆棧(系統(tǒng)棧和用戶棧),寄存器中的狀態(tài)數(shù)據(jù)。進(jìn)程擁有一個完整的虛擬地址空間,不依賴于線程而獨立存在;反之,線程是進(jìn)程的一部分,沒有自己的地址空間,與進(jìn)程內(nèi)的其他線程一起共享分配給該進(jìn)程的所有資源。
線程可以有效地提高系統(tǒng)的執(zhí)行效率,但并不是在所有計算機(jī)系統(tǒng)中都是適用的,如某些很少做進(jìn)程調(diào)度和切換的實時系統(tǒng)。使用線程的好處是有多個任務(wù)需要處理機(jī)處理時,減少處理機(jī)的切換時間;而且,線程的創(chuàng)建和結(jié)束所需要的系統(tǒng)開銷也比進(jìn)程的創(chuàng)建和結(jié)束要小得多。最適用使用線程的系統(tǒng)是多處理機(jī)系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)或分布式系統(tǒng)。
----------------------------------
1. 線程的執(zhí)行特性。
線程只有 3 個基本狀態(tài):就緒,執(zhí)行,阻塞。
線程存在 5 種基本操作來切換線程的狀態(tài):派生,阻塞,激活,調(diào)度,結(jié)束。
2. 進(jìn)程通信。
單機(jī)系統(tǒng)中進(jìn)程通信有 4 種形式:主從式,會話式,消息或郵箱機(jī)制,共享存儲區(qū)方式。
主從式典型例子:終端控制進(jìn)程和終端進(jìn)程。
會話式典型例子:用戶進(jìn)程與磁盤管理進(jìn)程之間的通信。
本文到此講解完畢了,希望對大家有幫助。