操作系統的并發

1. 前言

本節內容是從操作系統的層面談并發,本節課程我們需要掌握如下內容:

  • 掌握并發編程的定義,并發編程的定義是了解并發的前提基礎;
  • 從 CPU 談并發誕生的意義,一切語言的基礎都是操作系統,CPU 的并發與 Java 并發息息相關,了解 CPU 對學習并發編程至關重要;
  • 操作系統,進程,線程之間的聯系。本節課程的重點之一,三者之間的聯系有助于對整體上有更加透徹的了解(重點);
  • 了解什么是進程和線程以及兩者之間的區別。起初學習并發編程的同學對兩者之間的區別區分不明確,進程與線程的區別也是本節課程的重點之一(重點);
  • 理解串行,并行,并發三種線程執行方式的區別,不同的執行方式會有不同的執行效果。

2. 并發編程的定義

定義: 所謂并發編程是指在一臺處理器上 “同時” 處理多個任務。并發是在同一實體上的多個事件,多個事件在同一時間間隔發生。

意義:開發者通過使用不同的語言,實現并發編程,充分的利用處理器(CPU)的每一個核,以達到最高的處理性能,提升服務器的資源利用率,提升數據的處理速度。

3. 從 CPU 談并發編程

首先看下圖,圖中展示了最簡單的 CPU 核心通過緩存與主存進行通訊的模型。
圖片描述
在緩存出現后不久,系統變得越來越復雜,緩存與主存之間的速度差異被拉大,由于 CPU 的頻率太快了,快到主存跟不上,這樣在線程處理器時鐘周期內,CPU 常常需要等待主存,這樣就會浪費資源。從我們的感官上,計算機可以同時運行多個任務,但是從 CPU 硬件層面上來說,其實是 CPU 執行線程的切換,由于切換頻率非常快,致使我們從感官上感覺計算機可以同時運行多個程序。
為了避免長時間的線程等待,我們一方面提升硬件指標(如多級高速緩存的誕生,這里不做討論),另一方面引入了并發概念,充分的利用處理器(CPU)的每一個核,減少 CPU 資源等待的時間,以達到最高的處理性能。

4. 操作系統,進程,線程之間的聯系與區別

我們首先來看看,三者之間的關系,從圖中可以看到,操作系統是包含多個進程的容器,而每個進程又是容納多個線程的容器。

圖片描述

什么是進程?
官方定義: 進程(baiProcess)是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。

Tips:系統進行資源分配和調度的基本單位其實就是 CPU 時間片的切換,一個 CPU 同一時間只能操作一個任務,只不過 CPU 在不停的切換工作任務,這里的時間片就是我們所說的系統進行資源分配和調度的基本單位

那么從定義上感覺非常的抽象,但是進程其實就在我們日常的計算機使用過程中。請看下圖,進入任務管理器看 Windows 操作系統下的進程:
圖片描述
什么是線程?
官方定義: 線程是操作系統能夠進行資源調度的最小單位,它被包含在進程之中,是進程中的實際運作單位,每個線程執行的都是進程代碼的某個片段,特定的線程總是在執行特定的任務。

線程與進程的區別?

  • 誕生起源:先有進程,后有線程。進程由于資源利用率、公平性和便利性誕生。處理器的速度往往比外設的速度快(鍵盤、鼠標等),為了提高 CPU 的利用率,誕生了線程,目的就是為了提高程序的執行效率;
  • 概念:進程是資源分配的最小單位。 線程是程序執行的最小單位(線程是操作系統能夠進行資源調度的最小單位,同個進程中的線程也可以被同時調度到多個 CPU 上運行),線程也被稱為輕量級進程;
  • 內存共享:默認情況下,進程的內存無法與其他進程共享(進程間通信通過 IPC 進行)。 線程共享由操作系統分配給其父進程的內存塊。

5. 串行,并行與并發

串行:順序執行,按步就搬。在 A 任務執行完之前不可以執行 B。

并行:同時執行,多管齊下。指兩個或兩個以上事件或活動在同一時刻發生。在多道程序環境下,并行性使多個程序同一時刻可在不同 CPU 核心上同時執行。

并發:穿插執行,減少等待。指多個線程輪流穿插著執行,并發的實質是一個物理 CPU 在若干道程序之間多路復用,其目的是提高有限物理資源的運行效率。
圖片描述

6. 小結

本節課程重點講解了操作系統的并發原理,以及進程和線程之間的區別與聯系。除此之外,理解串行,并行,并發三種線程執行方式的區別尤為重要,對以后的課程學習有很大的幫助。

主站蜘蛛池模板: 亚洲AV无码一区二区三区网址| 久久99精品一区二区三区| 爆乳熟妇一区二区三区霸乳 | 亚洲视频在线一区二区三区| 国产乱码精品一区二区三区四川 | 国产精品亚洲一区二区麻豆| 色噜噜AV亚洲色一区二区| 综合一区自拍亚洲综合图区| 亚洲国产欧美国产综合一区 | 国产自产V一区二区三区C| 精品国产日韩一区三区| 亚洲色偷精品一区二区三区| 色狠狠色狠狠综合一区| 中文字幕一区二区三区精彩视频| 国产激情视频一区二区三区| 精品福利一区二区三| 手机看片一区二区| 久久久久人妻精品一区三寸蜜桃| 国产一区二区三区樱花动漫| 视频一区二区在线播放| 白丝爆浆18禁一区二区三区| 国产精品一区二区香蕉| 国产午夜一区二区在线观看| 国产av一区二区精品久久凹凸| 精品免费国产一区二区三区| 精品一区二区三区免费毛片| 日韩社区一区二区三区| 精品乱子伦一区二区三区| 狠狠综合久久AV一区二区三区| 免费看一区二区三区四区| 亚洲国产成人一区二区精品区| 亚洲AV成人一区二区三区AV| 91福利视频一区| 亚洲国产AV无码一区二区三区| 海角国精产品一区一区三区糖心| 国产成人一区二区三区免费视频 | 无码人妻视频一区二区三区| 国产精品日本一区二区在线播放 | 亚洲片国产一区一级在线观看| 国产乱码伦精品一区二区三区麻豆| 中文字幕无码免费久久9一区9|