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

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

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

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

進(jìn)程和線程的關(guān)系與區(qū)別是什么

Dbwd_Imgtec ? 來源:未知 ? 作者:胡薇 ? 2018-04-04 09:33 ? 次閱讀

1定義

進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運(yùn)行活動,進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位。

線程是進(jìn)程的一個實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源。

2關(guān)系

一個線程可以創(chuàng)建和撤銷另一個線程;同一個進(jìn)程中的多個線程之間可以并發(fā)執(zhí)行。

相對進(jìn)程而言,線程是一個更加接近于執(zhí)行體的概念,它可以與同進(jìn)程中的其他線程共享數(shù)據(jù),但擁有自己的棧空間,擁有獨(dú)立的執(zhí)行序列。

3區(qū)別

進(jìn)程和線程的主要差別在于它們是不同的操作系統(tǒng)資源管理方式。進(jìn)程有獨(dú)立的地址空間,一個進(jìn)程崩潰后,在保護(hù)模式下不會對其它進(jìn)程產(chǎn)生影響,而線程只是一個進(jìn)程中的不同執(zhí)行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨(dú)的地址空間,一個線程死掉就等于整個進(jìn)程死掉,所以多進(jìn)程的程序要比多線程的程序健壯,但在進(jìn)程切換時,耗費(fèi)資源較大,效率要差一些。但對于一些要求同時進(jìn)行并且又要共享某些變量的并發(fā)操作,只能用線程,不能用進(jìn)程。

1) 簡而言之,一個程序至少有一個進(jìn)程,一個進(jìn)程至少有一個線程。

2) 線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。

3) 另外,進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。

4) 線程在執(zhí)行過程中與進(jìn)程還是有區(qū)別的。每個獨(dú)立的線程有一個程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。

5) 從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨(dú)立的應(yīng)用,來實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。

4優(yōu)缺點(diǎn)

線程和進(jìn)程在使用上各有優(yōu)缺點(diǎn):線程執(zhí)行開銷小,但不利于資源的管理和保護(hù);而進(jìn)程正相反。同時,線程適合于在SMP機(jī)器上運(yùn)行,而進(jìn)程則可以跨機(jī)器遷移。

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

    關(guān)注

    0

    文章

    505

    瀏覽量

    19758
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    204

    瀏覽量

    13996

原文標(biāo)題:進(jìn)程和線程有什么關(guān)系?它們的區(qū)別又是什么?

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

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)系型數(shù)據(jù)庫和非關(guān)系區(qū)別

    關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫在多個方面存在顯著差異,主機(jī)推薦小編為您整理發(fā)布關(guān)系型數(shù)據(jù)庫和非關(guān)系區(qū)別,以下是它們的主要
    的頭像 發(fā)表于 01-10 09:58 ?122次閱讀

    隔離式ADC和普通ADC的區(qū)別是什么?

    隔離式ADC和普通ADC的區(qū)別是什么? 普通ADC+光耦能否等同于隔離式ADC
    發(fā)表于 12-27 06:09

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

    是指在同一個進(jìn)程中運(yùn)行多個線程,每個線程可以獨(dú)立執(zhí)行任務(wù)。線程共享進(jìn)程的資源,如內(nèi)存空間和文件句柄,但每個
    的頭像 發(fā)表于 11-12 14:16 ?469次閱讀

    一文搞懂Linux進(jìn)程的睡眠和喚醒

    。通過PPID,可以追蹤進(jìn)程的來源,并了解進(jìn)程之間的關(guān)系。 在PCB中記錄的進(jìn)程狀態(tài),不過是一些整數(shù),這個整數(shù)是多少就代表進(jìn)程此時處于什么
    發(fā)表于 11-04 15:15

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

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

    請問TPA3116/3118/3130的區(qū)別是什么?

    請問區(qū)別是在于輸出的最大功率嗎?同一份datasheet,應(yīng)該參數(shù)一樣的吧?只是輸出功率的區(qū)別吧?
    發(fā)表于 10-17 07:02

    CPU時鐘周期與主頻的關(guān)系區(qū)別

    CPU時鐘周期與主頻是計(jì)算機(jī)體系結(jié)構(gòu)中兩個緊密相連且至關(guān)重要的概念,它們之間既存在關(guān)系又有所區(qū)別。以下將詳細(xì)闡述CPU時鐘周期與主頻的關(guān)系區(qū)別
    的頭像 發(fā)表于 09-26 15:46 ?2069次閱讀

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

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

    請問LM2902與LM2902KV的區(qū)別是否只有供電電壓的區(qū)別

    請問下LM2902與LM2902KV的區(qū)別是否只有供電電壓的區(qū)別?LM2904與LM2904V也是電壓的區(qū)別
    發(fā)表于 08-22 06:20

    摩爾線程與清程極智達(dá)建立戰(zhàn)略合作關(guān)系

    摩爾線程與清華系人工智能系統(tǒng)軟件公司清程極智科技有限公司(簡稱:清程極智)近日共同宣布,雙方正式建立戰(zhàn)略合作關(guān)系。此次合作旨在加速國產(chǎn)大規(guī)模GPU智算集群的產(chǎn)業(yè)化進(jìn)程,推動人工智能算力生態(tài)的快速發(fā)展,為大模型行業(yè)提供更強(qiáng)大、靈活
    的頭像 發(fā)表于 07-16 17:16 ?801次閱讀

    一句話讓你理解線程進(jìn)程

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

    請問CK_IN和OSC_IN的區(qū)別是什么?

    都是接晶振的,為什么有兩個。區(qū)別是什么呢?
    發(fā)表于 04-11 08:07

    python中5種線程鎖盤點(diǎn)

    線程安全是多線程或多進(jìn)程編程中的一個概念,在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代碼會通過同步機(jī)制保證各個
    發(fā)表于 03-07 11:08 ?1671次閱讀
    python中5種<b class='flag-5'>線程</b>鎖盤點(diǎn)

    基于RTOS的應(yīng)用進(jìn)程中的典型線程

    RTOS中的關(guān)鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價值在于它的響應(yīng)速度或可預(yù)測性,而不是它在給定時間段內(nèi)可以執(zhí)行的工作量。
    發(fā)表于 03-05 09:32 ?703次閱讀
    基于RTOS的應(yīng)用<b class='flag-5'>進(jìn)程</b>中的典型<b class='flag-5'>線程</b>

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

    每個線程與主程序共用地址空間,受限于2GB地址空間; 2)線程之間的同步和加鎖控制比較麻煩;一個線程的崩潰可能影響到整個程序的穩(wěn)定性
    發(fā)表于 03-04 15:03 ?1461次閱讀
    嵌入式系統(tǒng)中的<b class='flag-5'>線程</b>、<b class='flag-5'>進(jìn)程</b>與任務(wù)概念與<b class='flag-5'>區(qū)別</b>
    赛马会娱乐城| 百家乐破解之法| 免佣百家乐规则| 网络棋牌游戏平台| 百家乐官网9人桌布| 新锦江百家乐官网的玩法技巧和规则| 百家乐制胜秘| 大富豪棋牌游戏中心| 百家乐官网筹码桌| 赌博百家乐经验| 永利国际娱乐| 博彩网百家乐官网的玩法技巧和规则| 广发百家乐的玩法技巧和规则| 百家乐官网买隔一数| 博马百家乐娱乐城| 皇博| 犹太人百家乐官网的玩法技巧和规则| 筹码百家乐的玩法技巧和规则| 百家乐官网包赢技巧| 百家乐技术交流群| 泽库县| r百家乐娱乐下载| 六合彩报| 女性做生意的风水| 易胜博网站| 信誉百家乐平台| 天峨县| 六合彩百家乐有什么平码| 皇室百家乐官网娱乐城| 噢门百家乐玩的技巧| 天天百家乐官网游戏| 大上海百家乐的玩法技巧和规则| 百家乐官网输一压二| 百家乐网上真钱娱乐| 百家乐官网技巧之微笑心法| 网络百家乐会输钱的多吗| 澳门百家乐官网搏牌规则| 单机百家乐的玩法技巧和规则| 新锦江百家乐官网娱乐平台| 大发888免费送奖金| 做生意风水|