0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

線程與進程的概念與區(qū)別

Dbwd_Imgtec ? 來源:未知 ? 作者:龔婷 ? 2018-03-16 15:30 ? 次閱讀

一、線程與進程

1.概念

線程:是程序執(zhí)行流的最小單元,是系統(tǒng)獨立調(diào)度和分配CPU(獨立運行)的基本單位。

進程:是資源分配的基本單位。一個進程包括多個線程。

2.區(qū)別:

1、線程與資源分配無關(guān),它屬于某一個進程,并與進程內(nèi)的其他線程一起共享進程的資源。

2、每個進程都有自己一套獨立的資源(數(shù)據(jù)),供其內(nèi)的所有線程共享。

3、不論是大小,開銷線程要更“輕量級”

4、一個進程內(nèi)的線程通信比進程之間的通信更快速,有效。(因為共享變量)

二、多線程與多進程

多線程:同一時刻執(zhí)行多個線程。如,用瀏覽器一邊下載,一邊聽歌,一邊看視頻,一邊看網(wǎng)頁......

多進程:同時執(zhí)行多個程序。如,同事運行YY,QQ,以及各種瀏覽器。

三、并發(fā)與并行

并發(fā):當(dāng)有多個線程在操作時,如果系統(tǒng)只有一個CPU,則它根本不可能真正同時進行一個以上的線程,它只能把CPU運行時間劃分成若干個時間段,再將時間 段分配給各個線程執(zhí)行,在一個時間段的線程代碼運行時,其它線程處于掛起狀。.這種方式我們稱之為并發(fā)(Concurrent)。

并行:當(dāng)系統(tǒng)有一個以上CPU時,則線程的操作有可能非并發(fā)。當(dāng)一個CPU執(zhí)行一個線程時,另一個CPU可以執(zhí)行另一個線程,兩個線程互不搶占CPU資源,可以同時進行,這種方式我們稱之為并行(Parallel)。

強烈注意:多核,多cup,多機是不同的概念。

補充:

多內(nèi)核是指在一枚處理器中集成兩個或多個完整的計算引擎(內(nèi)核)。

多核心cpu主要分原生多核和封裝多核。

- 原生多核指的是真正意義上的多核,每個核心之間都是完全獨立的,都擁有自己的前端總線,不會造成沖突,即使在高負(fù)載狀況下,每個核心都能保證自己的性能不受太大的影響,通俗的說,原生多核的抗壓能力強,但是需要先進的工藝,每擴展一個核心都需要很多的研發(fā)時間。

- 封裝多核是只把多個核心直接封裝在一起,和原生的比起來還是差了很多,而且后者成本比較高,優(yōu)點在于多核心的發(fā)展要比原生快的多。

多個處理機及存儲器模塊構(gòu)成的并行處理機被稱為多處理機系統(tǒng)(multiprocessor system),簡稱多處理機。多機系統(tǒng)是將多個VLSI(超大規(guī)模集成電路)工藝集成的微處理機芯片結(jié)合在一起,由多個處理機并行工作以達到所需的高速度的,因此多機系統(tǒng)實際上是并行處理技術(shù)和VLSI技術(shù)相結(jié)合的產(chǎn)物。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    19636
  • 進程
    +關(guān)注

    關(guān)注

    0

    文章

    201

    瀏覽量

    13941

原文標(biāo)題:基礎(chǔ)知識:線程,進程,多進程,多線程,并發(fā),并行的區(qū)別

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

收藏 人收藏

    評論

    相關(guān)推薦

    socket 多線程編程實現(xiàn)方法

    在現(xiàn)代網(wǎng)絡(luò)編程中,多線程技術(shù)被廣泛應(yīng)用于提高服務(wù)器的并發(fā)處理能力。Socket編程是網(wǎng)絡(luò)通信的基礎(chǔ),而將多線程技術(shù)應(yīng)用于Socket編程,可以顯著提升服務(wù)器的性能。 多線程編程的基本概念
    的頭像 發(fā)表于 11-12 14:16 ?74次閱讀

    一文搞懂Linux進程的睡眠和喚醒

    機制 1)信號(Signal): 進程可以通過接受特定信號被喚醒。 2)條件變量(Condition Variable): 多線程編程中用于同步多個線程的工具,可以讓一個線程在某些
    發(fā)表于 11-04 15:15

    Python中多線程和多進程區(qū)別

    Python作為一種高級編程語言,提供了多種并發(fā)編程的方式,其中多線程與多進程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進程
    的頭像 發(fā)表于 10-23 11:48 ?245次閱讀
    Python中多<b class='flag-5'>線程</b>和多<b class='flag-5'>進程</b>的<b class='flag-5'>區(qū)別</b>

    CPU線程和程序線程區(qū)別

    CPU的線程與程序的線程概念、作用、實現(xiàn)方式以及性能影響等方面存在顯著差異。以下是對兩者區(qū)別的詳細(xì)闡述,旨在深入探討這一技術(shù)話題。
    的頭像 發(fā)表于 09-02 11:18 ?732次閱讀

    一句話讓你理解線程進程

    今天給大家分享一下線程進程,主要包含以下幾部分內(nèi)容:一句話說明線程進程操作系統(tǒng)為什么需要進程為什么要引入
    的頭像 發(fā)表于 06-04 08:04 ?1028次閱讀
    一句話讓你理解<b class='flag-5'>線程</b>和<b class='flag-5'>進程</b>

    python中5種線程鎖盤點

    線程安全是多線程或多進程編程中的一個概念,在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代
    發(fā)表于 03-07 11:08 ?1446次閱讀
    python中5種<b class='flag-5'>線程</b>鎖盤點

    嵌入式系統(tǒng)中的線程、進程與任務(wù)概念區(qū)別

    每個線程與主程序共用地址空間,受限于2GB地址空間; 2)線程之間的同步和加鎖控制比較麻煩;一個線程的崩潰可能影響到整個程序的穩(wěn)定性
    發(fā)表于 03-04 15:03 ?1089次閱讀
    嵌入式系統(tǒng)中的<b class='flag-5'>線程</b>、<b class='flag-5'>進程</b>與任務(wù)<b class='flag-5'>概念</b>與<b class='flag-5'>區(qū)別</b>

    線程是什么的基本單位 進程線程的本質(zhì)區(qū)別

    的代碼、數(shù)據(jù)以及用于執(zhí)行這些代碼的上下文信息。一個進程可以由一個或多個線程組成,從而并發(fā)執(zhí)行多個任務(wù)。 本質(zhì)區(qū)別: 資源擁有方式:進程是資源分配的基本單位,每個
    的頭像 發(fā)表于 02-02 16:30 ?824次閱讀

    mcu線程進程區(qū)別是什么

    MCU線程進程是嵌入式系統(tǒng)中常見的并行執(zhí)行的概念,它們之間有許多區(qū)別,包括線程進程的定義、資
    的頭像 發(fā)表于 01-04 10:45 ?666次閱讀

    你還是分不清多進程和多線程嗎?一文搞懂!

    你還是分不清多進程和多線程嗎?一文搞懂! 多進程和多線程是并發(fā)編程中常見的兩個概念,它們都可以用于提高程序的性能和效率。但是它們的實現(xiàn)方式和
    的頭像 發(fā)表于 12-19 16:07 ?526次閱讀

    Linux中進程、線程和協(xié)程的基礎(chǔ)概念

    進程是計算機中運行的程序的實例,它是操作系統(tǒng)中最基本的執(zhí)行單元之一。每個進程都有自己的獨立內(nèi)存空間、系統(tǒng)資源和代碼執(zhí)行流。這意味著一個進程的崩潰通常不會影響其他進程
    的頭像 發(fā)表于 12-06 09:22 ?759次閱讀

    進程線程概念及其區(qū)別

    今天浩道跟大家分享一篇關(guān)于進程線程之間關(guān)聯(lián)的硬核干貨,看看大神如何通過通俗易懂的圖文,讓大家更加深刻理解進程線程區(qū)別!
    的頭像 發(fā)表于 11-21 10:50 ?860次閱讀
    <b class='flag-5'>進程</b>和<b class='flag-5'>線程</b>的<b class='flag-5'>概念</b>及其<b class='flag-5'>區(qū)別</b>

    阻塞狀態(tài)和等待狀態(tài)的區(qū)別

    阻塞狀態(tài)和等待狀態(tài)是計算機領(lǐng)域中常用的術(shù)語,用來描述進程線程的狀態(tài)。盡管這兩個狀態(tài)在表面上有些相似,但它們有著本質(zhì)上的區(qū)別。本文將詳盡、詳實、細(xì)致地討論阻塞狀態(tài)和等待狀態(tài)之間的區(qū)別,
    的頭像 發(fā)表于 11-17 11:33 ?3563次閱讀

    就緒狀態(tài)和等待狀態(tài)的區(qū)別

    就緒狀態(tài)和等待狀態(tài)是計算機領(lǐng)域中一對常用的術(shù)語,用于描述進程線程在執(zhí)行時的不同狀況。下面我將詳細(xì)解釋就緒狀態(tài)和等待狀態(tài)的區(qū)別。 就緒狀態(tài)(Ready State)是指進程
    的頭像 發(fā)表于 11-17 11:29 ?2490次閱讀

    JDK如何優(yōu)雅退出一個線程

    需要線程退出的常見場景 任務(wù)執(zhí)行完成,或異常終止,任務(wù)認(rèn)為無需再占用線程。 線程池根據(jù)當(dāng)前任務(wù)執(zhí)行情況,伸縮線程池。當(dāng)任務(wù)執(zhí)行較少時,退出空閑的
    的頭像 發(fā)表于 11-17 10:02 ?412次閱讀
    JDK如何優(yōu)雅退出一個<b class='flag-5'>線程</b>?