吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CPU與核心及進程和線程認識

Dbwd_Imgtec ? 來源:未知 ? 作者:李倩 ? 2018-03-30 14:48 ? 次閱讀

CPU與核心

物理核

物理核數量 = cpu數(機子上裝的cpu的數量)*每個cpu的核心數

虛擬核

所謂的4核8線程,4核指的是物理核心。通過超線程技術,用一個物理核模擬兩個虛擬核,每個核兩個線程,總數為8線程。

操作系統看來是8個核,但是實際上是4個物理核。

通過超線程技術可以實現單個物理核實現線程級別的并行計算,但是比不上性能兩個物理核。

單核cpu和多核cpu

都是一個cpu,不同的是每個cpu上的核心數

多核cpu是多個單核cpu的替代方案,多核cpu減小了體積,同時也減少了功耗

一個核心只能同時執行一個線程

進程和線程

理解

進程是操作系統進行資源(包括cpu、內存、磁盤IO等)分配的最小單位

線程是cpu調度和分配的基本單位

我們打開的微信,瀏覽器都是一個進程

進程可能有多個子任務,比如微信要接受消息,發送消息,這些子任務就是線程。

資源分配給進程,線程共享進程資源。

對比

線程切換

cpu給線程分配時間片(也就是分配給線程的時間),執行完時間片后會切換都另一個線程。

切換之前會保存線程的狀態,下次時間片再給這個線程時才能知道當前狀態。

從保存線程A的狀態再到切換到線程B時,重新加載線程B的狀態的這個過程就叫上下文切換。

而上下切換時會消耗大量的cpu時間。

線程開銷

上下文切換消耗

線程創建和消亡的開銷

線程需要保存維持線程本地棧,會消耗內存

串行,并發與并行

串行

多個任務,執行時一個執行完再執行另一個。

比喻:吃完飯再看球賽。

并發

多個線程在單個核心運行,同一時間一個線程運行,系統不停切換線程,看起來像同時運行,實際上是線程不停切換。

比喻: 一會跑去食廳吃飯,一會跑去客廳看球賽。

并行

每個線程分配給獨立的核心,線程同時運行。

比喻:一邊吃飯一邊看球賽。

多核下線程數量選擇

計算密集型

程序主要為復雜的邏輯判斷和復雜的運算。

cpu的利用率高,不用開太多的線程,開太多線程反而會因為線程切換時切換上下文而浪費資源。

IO密集型

程序主要為IO操作,比如磁盤IO(讀取文件)和網絡IO(網絡請求)。

因為IO操作會阻塞線程,cpu利用率不高,可以開多點線程,阻塞時可以切換到其他就緒線程,提高cpu利用率。

總結

提高性能的一種方式:提高硬件水平,處理速度或核心數。

另一種方式:根據場景,合理設置線程數,軟件上提高cpu利用率。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10902

    瀏覽量

    213007
  • 線程
    +關注

    關注

    0

    文章

    505

    瀏覽量

    19756

原文標題:認識CPU、核與線程

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    進程線程的區別

    的重要區別。進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位. 線程進程的一個實體,是CP
    發表于 12-12 09:28

    【Nanopi2試用體驗】高級(十):進程綁定CPU核心

    1994568800分別在四個CPU核心上運行了一段時間。在一些嵌入式設備中,運行的進程線程比較單一,如果指定進程
    發表于 02-03 17:28

    進程線程的通俗解釋

    本帖最后由 檸檬守護 于 2016-8-10 17:42 編輯 進程(process)和線程(thread)是操作系統的基本概念,但是它們比較抽象,不容易掌握。最近,我讀到一篇材料,發現有一個
    發表于 08-10 17:31

    進程線程區別

    `1、進程線程的區別和聯系進程(process)和線程(thread)是操作系統的基本概念,但是它們比較抽象,不容易掌握。計算機的核心
    發表于 11-30 14:06

    線程進程、程序的區別

    是為了節約CPU時間,發揮利用,根據具體情況而定。線程的運行中需要使用計算機的內存資源和CPU。通常在一個進程中可以包含若干個線程,它們可以
    發表于 03-23 13:09

    關于“進程”與“線程”的最通俗解析

    ` 進程(process)和線程(thread)是操作系統的基本概念,但是它們比較抽象,不容易掌握。 最近,我讀到一篇材料,發現有一個很好的類比,可以把它們解釋地清晰易懂。 1、計算機的核心
    發表于 06-02 07:43

    線程進程有哪些區別?

    線程進程的區別在于,子進程和父進程有不同的代碼和數據空間,而多個線程則共享數據空間,每個線程
    發表于 07-20 07:48 ?1992次閱讀
    <b class='flag-5'>線程</b>與<b class='flag-5'>進程</b>有哪些區別?

    一文讀懂線程進程、程序之間的不同

    線程進程的區別在于,子進程和父進程有不同的代碼和數據空間,而多個線程則共享數據空間,每個線程
    發表于 03-12 08:48 ?1377次閱讀
    一文讀懂<b class='flag-5'>線程</b>、<b class='flag-5'>進程</b>、程序之間的不同

    進程線程定義

    線程CPU調度的最小單位(程序執行流的最小單元),它被包含在進程之中,是進程中的實際運作單元。一條線程
    的頭像 發表于 11-20 10:23 ?2706次閱讀

    線程進程的關系與區別

    線程CPU調度的最小單位(程序執行流的最小單元),它被包含在進程之中,是進程中的實際運作單元。一條線程
    的頭像 發表于 11-29 11:01 ?1.4w次閱讀

    進程線程分別是什么,它們的區別是什么

    一、定義 進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位。 線程進程的一個實體,是CP
    發表于 03-24 17:26 ?9415次閱讀
    <b class='flag-5'>進程</b>和<b class='flag-5'>線程</b>分別是什么,它們的區別是什么

    講講線程進程CPU中的超線程

    因此,超線程簡單來講就是把這些不能公用的資源加倍。而那些流水線上的操作邏輯電路、ALU單元等則可以不用復制。以此實現多個線程同時在一個CPU核心中進行處理。
    的頭像 發表于 08-05 16:38 ?2587次閱讀

    CPU核心中idle進程作用

    每一個 CPU 核心都會有一個 idle 進程,idle 進程是當系統沒有調度 CPU 資源的時候,會進入 idle
    的頭像 發表于 10-14 09:28 ?2033次閱讀

    進程線程的區別以及優缺點

    進程線程 1、什么是進程線程,有什么區別? 進程是資源(CPU、內存等)分配的基本單位,
    的頭像 發表于 07-21 11:02 ?1453次閱讀

    mcu線程進程的區別是什么

    是程序執行的基本單位,它是進程中的一個實體,是進程內的一條執行路徑。線程CPU調度的最小單位,它可以看作是輕量級的進程,不擁有獨立的地址空
    的頭像 發表于 01-04 10:45 ?837次閱讀
    大发888国际娱乐| 百家乐一年诈骗多少钱| 全讯网3| 亚洲皇冠| 试玩百家乐官网网| 百家乐官网平点| 百家乐偷吗| 百家乐博彩吧| 荃湾区| 百家乐官网真人娱乐场开户注册 | 赌博百家乐技术| 哪个百家乐网站信誉好| 博彩排行| 百家乐官网如何看| 温州市百家乐ktv招聘| 大西洋娱乐城开户地址| 星级百家乐官网技巧| 粤港澳百家乐赌场娱乐网规则| bet365 体育在线uo| 百家乐官网怎么看大小| 如何赢百家乐的玩法技巧和规则| 卡宾娱乐| 十三张百家乐官网的玩法技巧和规则| 百家乐乐百家娱乐场| e世博百家乐官网娱乐场| 百家乐3号眨眼技术| 波音平台| 南宁百家乐官网的玩法技巧和规则 | 网上百家乐是真是假天涯论坛| 美姑县| 百家乐娱乐城信息| 巴登娱乐城真人娱乐| 香港百家乐官网娱乐场开户注册 | 百博百家乐官网的玩法技巧和规则 | 百家乐视频视频| 娱乐城注册送礼金| 喜来登百家乐官网的玩法技巧和规则 | 乌拉特后旗| 百家乐官网娱乐备用网址| 百家乐又称什么| 乐天堂百家乐官网娱乐网|