十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
整體框架
還沒有引入進程之前,各個程序只能串行執(zhí)行
進程是程序的一次執(zhí)行過程,但這些功能顯然不可能是由一個程序順序處理就能實現(xiàn)的
有的進程可能需要 “同時” 做很多事,而傳統(tǒng)的進程只能串行地執(zhí)行一系列程序。
為此,引入了 “線程”,來增加并發(fā)度。
引入線程后,線程成為了程序執(zhí)行流的最小單位
可以把線程理解為 “輕量級進程” 。
線程 \color{red}線程 線程是一個 基本的 CPU 執(zhí)行單元 \color{red}基本的\texttt{CPU}執(zhí)行單元 基本的CPU執(zhí)行單元,
引入線程之后,不僅是進程之間可以并發(fā),
進程內(nèi)的 各線程之間 \color{red}各線程之間 各線程之間也可以 并發(fā) \color{red}并發(fā) 并發(fā),
從而進一步 提升了系統(tǒng)的并發(fā)度 \color{red}提升了系統(tǒng)的并發(fā)度 提升了系統(tǒng)的并發(fā)度,
使得一個進程內(nèi)也可以并發(fā)處理各種任務(如QQ視頻、文字聊天、傳文件)
引入線程后, 進程 \color{red}進程 進程只作為 除 CPU 之外的系統(tǒng)資源的分配單元 \color{red}除\texttt{CPU}之外的系統(tǒng)資源的分配單元 除CPU之外的系統(tǒng)資源的分配單元
即:進程只作為分配資源的基本單位,而將線程作為調(diào)度的基本單位
例如:從 QQ 聊天窗口跳到 b 站視頻就是不同進程之間線程的切換
4、線程的實現(xiàn)方式 4.1、用戶級線程(User-Level Thread,ULT)用戶級線程由應用程序通過線程庫實現(xiàn)。
所有的 線程管理工作 \color{red}線程管理工作 線程管理工作都由 應用程序負責 \color{red}應用程序負責 應用程序負責(包括線程切換)
用戶級線程中,
線程切換 \color{red}線程切換 線程切換可以在 用戶態(tài)下即可完成 \color{red}用戶態(tài)下即可完成 用戶態(tài)下即可完成,
無需操作系統(tǒng)干預。
在用戶看來,是有多個線程。但是在操作系統(tǒng)內(nèi)核看來,并意識不到線程的存在。
可以這樣理解,“ 用戶級線程 \color{red}用戶級線程 用戶級線程” 就是 “ 從用戶視角看能看到的線程 \color{red}從用戶視角看能看到的線程 從用戶視角看能看到的線程”
4.2、內(nèi)核級線程(Kernel-Level Thread, KLT)又稱 “內(nèi)核支持的線程”
內(nèi)核級 線程的管理工作 \color{red}線程的管理工作 線程的管理工作由 操作系統(tǒng)內(nèi)核 \color{red}操作系統(tǒng)內(nèi)核 操作系統(tǒng)內(nèi)核完成。
線程調(diào)度、切換等工作都由內(nèi)核負責,
可以這樣理解,“ 內(nèi)核級線程 \color{red}內(nèi)核級線程 內(nèi)核級線程”就是 “ 從操作系統(tǒng)內(nèi)核視角看能看到的線程 \color{red}從操作系統(tǒng)內(nèi)核視角看能看到的線程 從操作系統(tǒng)內(nèi)核視角看能看到的線程”
4.3、二者組合在同時支持用戶級線程和內(nèi)核級線程的系統(tǒng)中,可采用二者組合的方式:
將n
個用戶級線程映射到m
個內(nèi)核級線程上(n >= m
)
重點重點重點 \color{red}重點重點重點 重點重點重點:
操作系統(tǒng)只 “看得見” 內(nèi)核級線程,
例如:
上述這個模型中,該進程由兩個內(nèi)核級線程,三個用戶級線程,在用戶看來,這個進程中有三個線程。
在同時支持用戶級線程和內(nèi)核級線程的系統(tǒng)中,由幾個用戶級線程映射到幾個內(nèi)核級線程的問題引出了 “多線程模型” 問題。
5.1、多對一模型多對一 \color{red}多對一 多對一模型:
優(yōu)點:
缺點:
因為線程是處理機調(diào)度的基本單位,而不是資源分配的基本單位。多個用戶級映射在一個內(nèi)核級線程,內(nèi)核認為僅有一個線程,當一個用戶級線程被阻塞,內(nèi)核認為所映射的內(nèi)核級線程也被阻塞,故所有映射到該內(nèi)核級的用戶級線程都被阻塞
一對一 \color{red}一對一 一對一模型:
優(yōu)點:
缺點:
多對多模型:n
用戶及線程映射到m
個內(nèi)核級線程(n >= m
)。
m
個內(nèi)核級線程。克服了多對一模型并發(fā)度不高的缺點,
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧