欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

2.5、線程概念和多線程模型-創(chuàng)新互聯(lián)

整體框架

創(chuàng)新互聯(lián)公司成立于2013年,先為普陀等服務(wù)建站,普陀等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為普陀企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

image-20230119002426983

1、什么是線程,為什么要引入線程?

還沒有引入進程之前,各個程序只能串行執(zhí)行

image-20230118222749992

進程是程序的一次執(zhí)行過程,但這些功能顯然不可能是由一個程序順序處理就能實現(xiàn)的


有的進程可能需要 “同時” 做很多事,而傳統(tǒng)的進程只能串行地執(zhí)行一系列程序。

image-20230118223919994

為此,引入了 “線程”,來增加并發(fā)度。

image-20230118224436180

引入線程后,線程成為了程序執(zhí)行流的最小單位


可以把線程理解為 “輕量級進程” 。

線程 \color{red}線程 線程是一個 基本的 CPU 執(zhí)行單元 \color{red}基本的\texttt{CPU}執(zhí)行單元 基本的CPU執(zhí)行單元,

  • 也是 程序執(zhí)行流的最小單位 \color{red}程序執(zhí)行流的最小單位 程序執(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ā)處理各種任務(wù)(如QQ視頻、文字聊天、傳文件)


引入線程后, 進程 \color{red}進程 進程只作為 除 CPU 之外的系統(tǒng)資源的分配單元 \color{red}除\texttt{CPU}之外的系統(tǒng)資源的分配單元 除CPU之外的系統(tǒng)資源的分配單元

  • (如打印機、內(nèi)存地址空間等都是分配給進程的)。

即:進程只作為分配資源的基本單位,而將線程作為調(diào)度的基本單位

image-20230118225004543


2、引入線程帶來的變化

image-20230118231907308

3、線程的屬性

image-20230118232159853

例如:從 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)核看來,并意識不到線程的存在。

  • (用戶級線程對用戶不透明,對操作系統(tǒng)透明)

image-20230118233615063

可以這樣理解,“ 用戶級線程 \color{red}用戶級線程 用戶級線程” 就是 “ 從用戶視角看能看到的線程 \color{red}從用戶視角看能看到的線程 從用戶視角看能看到的線程”

4.2、內(nèi)核級線程(Kernel-Level Thread, KLT)

又稱 “內(nèi)核支持的線程”

image-20230118233911343

內(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ài) \color{red}核心態(tài) 核心態(tà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)核級線程才是處理機分配的單位 \color{red}內(nèi)核級線程才是處理機分配的單位 內(nèi)核級線程才是處理機分配的單位。

image-20230118234210320

例如:

上述這個模型中,該進程由兩個內(nèi)核級線程,三個用戶級線程,在用戶看來,這個進程中有三個線程。

  • 但即使該進程在一個 4 核處理機的計算機上運行,也最多只能被分配到兩個核,最多只能有兩個用戶線程并行執(zhí)行。
5、多線程模型

在同時支持用戶級線程和內(nèi)核級線程的系統(tǒng)中,由幾個用戶級線程映射到幾個內(nèi)核級線程的問題引出了 “多線程模型” 問題。

5.1、多對一模型

多對一 \color{red}多對一 多對一模型:

  • 多個用戶及線程映射到一個內(nèi)核級線程。每個用戶進程只對應一個內(nèi)核級線程。

優(yōu)點:

  • 用戶級線程的切換在用戶空間即可完成,不需要切換到核心態(tài),
  • 線程管理的系統(tǒng)開銷小,效率高

缺點:

  • 當一個用戶級線程被阻塞后,整個進程都會被阻塞,并發(fā)度不高。
  • 多個線程不可在多核處理機上并行運行

因為線程是處理機調(diào)度的基本單位,而不是資源分配的基本單位。多個用戶級映射在一個內(nèi)核級線程,內(nèi)核認為僅有一個線程,當一個用戶級線程被阻塞,內(nèi)核認為所映射的內(nèi)核級線程也被阻塞,故所有映射到該內(nèi)核級的用戶級線程都被阻塞

image-20230118235614879

5.2、一對一模型

image-20230119000642332

一對一 \color{red}一對一 一對一模型:

  • 一個用戶及線程映射到一個內(nèi)核級線程。
  • 每個用戶進程有與用戶級線程同數(shù)量的內(nèi)核級線程。

優(yōu)點:

  • 當一個線程被阻塞后,別的線程還可以繼續(xù)執(zhí)行,并發(fā)能力強
  • 多線程可在多核處理機上并行執(zhí)行。

缺點:

  • 一個用戶進程會占用多個內(nèi)核級線程,線程切換由操作系統(tǒng)內(nèi)核完成,需要切換到核心態(tài),
  • 因此線程管理的成本高,開銷大。
5.3、多對多模型

image-20230118234210320

多對多模型:n用戶及線程映射到m個內(nèi)核級線程(n >= m)。

  • 每個用戶進程對應m個內(nèi)核級線程。

克服了多對一模型并發(fā)度不高的缺點,

  • 又克服了一對一模型中一個用戶進程占用太多內(nèi)核級線程,開銷太大的缺點。
6、整體框架

image-20230119002416974

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站標題:2.5、線程概念和多線程模型-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article18/hjpdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站App開發(fā)用戶體驗搜索引擎優(yōu)化微信小程序域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)