欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

進程與線程的區(qū)別和聯(lián)系

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-05 18:22 ? 次閱讀

進程(process)和線程(thread)是操作系統(tǒng)的基本概念,但是它們比較抽象,不容易掌握。

最近,我讀到一篇材料,發(fā)現(xiàn)有一個很好的類比,可以把它們解釋地清晰易懂。

1、計算機的核心是 CPU,它承擔了所有的計算任務(wù)。它就像一座工廠,時刻在運行。

2、假定工廠的電力有限,一次只能供給一個車間使用。也就是說,一個車間開工的時候,其他車間都必須停工。背后的含義就是,單個 CPU 一次只能運行一個任務(wù)。

3、進程就好比工廠的車間,它代表 CPU 所能處理的單個任務(wù)。任一時刻,CPU 總是運行一個進程,其他進程處于非運行狀態(tài)。

4、一個車間里,可以有很多工人。他們協(xié)同完成一個任務(wù)。

5、線程就好比車間里的工人。一個進程可以包括多個線程。

6、車間的空間是工人們共享的,比如許多房間是每個工人都可以進出的。這象征一個進程的內(nèi)存空間是共享的,每個線程都可以使用這些共享內(nèi)存。

7、可是,每間房間的大小不同,有些房間最多只能容納一個人,比如廁所。里面有人的時候,其他人就不能進去了。這代表一個線程使用某些共享內(nèi)存時,其他線程必須等它結(jié)束,才能使用這一塊內(nèi)存。

8、一個防止他人進入的簡單方法,就是門口加一把鎖。先到的人鎖上門,后到的人看到上鎖,就在門口排隊,等鎖打開再進去。這就叫“互斥鎖”(Mutual exclusion,縮寫 Mutex),防止多個線程同時讀寫某一塊內(nèi)存區(qū)域。

9、還有些房間,可以同時容納 n 個人,比如廚房。也就是說,如果人數(shù)大于 n,多出來的人只能在外面等著。這好比某些內(nèi)存區(qū)域,只能供給固定數(shù)目的線程使用。

10、這時的解決方法,就是在門口掛 n 把鑰匙。進去的人就取一把鑰匙,出來時再把鑰匙掛回原處。后到的人發(fā)現(xiàn)鑰匙架空了,就知道必須在門口排隊等著了。這種做法叫做“信號量”(Semaphore),用來保證多個線程不會互相沖突。

不難看出,mutex 是 semaphore 的一種特殊情況(n=1 時)。也就是說,完全可以用后者替代前者。但是,因為 mutex 較為簡單,且效率高,所以在必須保證資源獨占的情況下,還是采用這種設(shè)計。

11、操作系統(tǒng)的設(shè)計,因此可以歸結(jié)為三點:

(1)以多進程形式,允許多個任務(wù)同時運行;

(2)以多線程形式,允許單個任務(wù)分成不同的部分運行;

(3)提供協(xié)調(diào)機制,一方面防止進程之間和線程之間產(chǎn)生沖突,另一方面允許進程之間和線程之間共享資源。

審核編輯黃昊宇

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

    關(guān)注

    0

    文章

    505

    瀏覽量

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

    關(guān)注

    0

    文章

    204

    瀏覽量

    14002
收藏 人收藏

    評論

    相關(guān)推薦

    云計算和人工智能有什么區(qū)別聯(lián)系

    云計算和人工智能雖然各自具有獨特的特點和應(yīng)用領(lǐng)域,但它們之間存在著緊密的聯(lián)系和互動。接下來,AI部落小編帶您了解云計算和人工智能的區(qū)別聯(lián)系。
    的頭像 發(fā)表于 02-06 10:08 ?77次閱讀

    SMO與SMP的區(qū)別聯(lián)系

    SMO(Social Media Optimization,社交媒體優(yōu)化)和SMP(Social Media Platform,社交媒體平臺)是社交媒體領(lǐng)域中兩個重要的概念。它們之間既有區(qū)別也有聯(lián)系
    的頭像 發(fā)表于 01-03 09:17 ?345次閱讀

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

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

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

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

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

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

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

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

    柔性機器人與剛性機器人區(qū)別聯(lián)系

    柔性機器人和剛性機器人在結(jié)構(gòu)、功能、應(yīng)用場景等方面存在顯著的區(qū)別,但也有一些聯(lián)系。以下是它們的主要區(qū)別聯(lián)系區(qū)別 1.結(jié)構(gòu)材料 柔性機器
    的頭像 發(fā)表于 07-21 15:37 ?726次閱讀
    柔性機器人與剛性機器人<b class='flag-5'>區(qū)別</b>與<b class='flag-5'>聯(lián)系</b>

    預(yù)訓練和遷移學習的區(qū)別聯(lián)系

    預(yù)訓練和遷移學習是深度學習和機器學習領(lǐng)域中的兩個重要概念,它們在提高模型性能、減少訓練時間和降低對數(shù)據(jù)量的需求方面發(fā)揮著關(guān)鍵作用。本文將從定義、原理、應(yīng)用、區(qū)別聯(lián)系等方面詳細探討預(yù)訓練和遷移學習。
    的頭像 發(fā)表于 07-11 10:12 ?1255次閱讀

    一句話讓你理解線程進程

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

    PLC與DCS的區(qū)別聯(lián)系

    至關(guān)重要的控制系統(tǒng)。它們各自具有獨特的特點和優(yōu)勢,并在不同的應(yīng)用場景中發(fā)揮著重要作用。本文將對PLC和DCS的區(qū)別聯(lián)系進行詳細闡述,以幫助讀者更好地理解這兩種控制系統(tǒng)的特性和應(yīng)用。
    的頭像 發(fā)表于 05-28 16:35 ?5794次閱讀

    fpga和單片機的區(qū)別聯(lián)系 fpga和cpu區(qū)別

    fpga和單片機的區(qū)別聯(lián)系 FPGA(現(xiàn)場可編程邏輯門陣列)和單片機在電子系統(tǒng)設(shè)計中都扮演著重要的角色,但它們之間存在明顯的區(qū)別聯(lián)系區(qū)別
    的頭像 發(fā)表于 03-14 17:33 ?1249次閱讀

    python中5種線程鎖盤點

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

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

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

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

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

    柵格數(shù)據(jù)與矢量數(shù)據(jù)的區(qū)別聯(lián)系

    等方面存在一些區(qū)別聯(lián)系。 一、區(qū)別 形態(tài)上的區(qū)別: 柵格數(shù)據(jù)是由固定大小的像素網(wǎng)格組成,每個像素都具有特定的數(shù)值。整個數(shù)據(jù)集由一個矩陣來表示,每個像素位置都有特定的值。矢量數(shù)據(jù)則是由
    的頭像 發(fā)表于 02-25 15:08 ?1w次閱讀