国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

進程與線程的區別和聯系

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-05 18:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

11、操作系統的設計,因此可以歸結為三點:

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

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

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

審核編輯黃昊宇

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

    關注

    0

    文章

    509

    瀏覽量

    20826
  • 進程
    +關注

    關注

    0

    文章

    211

    瀏覽量

    14536
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式ElfBoard-進程之什么是進程

    在Linux系統中,有些基本命令能夠查看到進程的信息。例如ps、top、pgrep、pstree等;這些命令為用戶提供了查看和管理Linux進程信息的多種功能。通過合理使用這些命令,用戶可以監控
    發表于 03-02 08:49

    飛凌嵌入式ElfBoard-進程之什么是進程

    ID,用戶ID,組ID以及終止狀態等)。4.1.1 進程和程序的區別程序是一個靜態的代碼集合,是一組指令的集合,用于執行特定的任務。程序通常以文件的形式存在,存儲在硬盤、閃存或其他存儲介質上。程序
    發表于 01-26 08:42

    進程概念和特征

    進程的概念   在多道程序環境下,允許多個程序并發執行,此時它們將失去封閉性,并具有間斷性及不可再現性的特征。為此引入了進程(Process)的概念,以便更好地描述和控制程序的并發執行,實現操作系統
    發表于 01-15 06:39

    進程通信

    空間一般都是獨立的,要想讓兩個用戶進程共享空間必須通過特殊的系統調用實現,而進程內的線程是自然共享進程空間的。   消息傳遞   在消息傳遞系統中,
    發表于 01-15 06:16

    進程的控制

    進程控制的主要功能是對系統中的所有進程實施有效的管理,它具有創建新進程、撤銷已有進程、實現進程狀態轉換等功能。在操作系統中,一般把
    發表于 01-15 06:05

    解析Linux的進程線程和協程

    系統的穩定性和安全性。 (3)創建與銷毀:Linux使用fork()系統調用來創建新進程,通過exit()來終止進程線程(Thread) 線程
    發表于 12-22 11:00

    Linux多線程對比單線程的優勢

    在Linux系統中,線程是操作系統能夠進行運算調度的最小單位。線程被包含在進程之中,是進程中的實際運行單位。一個進程可以擁有多個
    發表于 12-01 06:11

    數字化與信息化有什么區別聯系

    數字化與信息化是緊密相關但又有區別的兩個概念,它們在推動社會和經濟發展中扮演著不同角色。以下從定義、核心目標、技術基礎、應用范圍、實施路徑及相互聯系六個方面進行詳細分析: 一、定義差異 數字化
    的頭像 發表于 10-11 16:48 ?1401次閱讀
    數字化與信息化有什么<b class='flag-5'>區別</b>和<b class='flag-5'>聯系</b>

    線程與多處理有何區別

    多處理也稱為進程進程是一個在自己的內存空間中運行的獨立程序。
    的頭像 發表于 09-16 14:21 ?558次閱讀

    【HZ-T536開發板免費體驗】—— linux創建線程

    線程進程 一個進程指的是一個正在執行的應用程序,而線程的功能是執行應用程序中的某個具體任務。線程具有傳統
    發表于 09-01 21:31

    知識分享 | 功能安全vsSOTIF:區別聯系

    )在確保出行安全方面發揮著至關重要的作用。那么,功能安全和SOTIF之間有什么區別?它們在哪些特性上又存在聯系
    的頭像 發表于 08-06 13:53 ?1687次閱讀
    知識分享 | 功能安全vsSOTIF:<b class='flag-5'>區別</b>與<b class='flag-5'>聯系</b>

    什么是工作電壓?什么是耐電壓?兩者的區別聯系

    在對連接器進行選型時,電壓是一個關鍵考量因素。通常,連接器有工作電壓和耐電壓兩種電壓參數,二者存在顯著區別。 那工作電壓和耐電壓是如何定義的呢? 工作電壓:指的是設備正常運行過程中,允許持續施加
    的頭像 發表于 04-11 16:14 ?3949次閱讀

    Linux進程狀態詳解

    進程狀態是task_struct內的一個整數;進行:進程在調度隊列中,進程的狀態都是running,阻塞:等待某種設備或者資源就緒。進程是一個隊列,設備也是一個隊列,當我們讀磁盤,讀網
    的頭像 發表于 04-01 09:46 ?1162次閱讀
    Linux<b class='flag-5'>進程</b>狀態詳解

    進程線程、協程傻傻分不清?一文帶你徹底扒光它們的\"底褲\"!

    各位程序員朋友(和假裝懂技術的同事):如果你在面試時被問到:\"請用奶茶店類比進程線程和協程\",而你回答:\"進程是老板,線程是員工,協程是兼職...\"
    發表于 03-26 09:27

    請問如何在Python中實現多線程與多進程的協作?

    大家好!我最近在開發一個Python項目時,需要同時處理多個任務,且每個任務需要不同的計算資源。我想通過多線程和多進程的組合來實現并發,但遇到了一些問題。 具體來說,我有兩個任務,一個是I/O密集型
    發表于 03-11 06:57