線程/進程 的互斥和同步機制

在我的Linux專欄

講到過多進程編程進程間通信以及多線程編程

在裏面我做了詳細的講解,並且還附帶了源代碼

 

在期間,有個重要的概念, 我們需要單獨拎出來講,就是互斥和同步

我們知道, 多個進程/線程同時訪問同一共享資源時

會造成數據混亂

因此呢,才需要互斥和同步機制進行保護

所以這一篇我們需要把這個概念理清楚

 

1、那進程/線程中的互斥和同步到底什麼呢?

進程中的互斥和同步  和   進程中的互斥和同步   是一個意思.

互斥:是指某一資源同時只允許一個訪問者對其進行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。

同步:是指在互斥的基礎上(大多數情況),通過其它機制實現訪問者對資源的有序訪問。在大多數情況下,同步已經實現了互斥,特別是所有寫入資源的情況必定是互斥的。少數情況是指可以允許多個訪問者同時訪問資源。
————————————————
摘抄的原文鏈接:https://blog.csdn.net/qq_41822235/article/details/85838959

 

2、進程的互斥和同步機制:

應用的地方: 進程間通信裏的 (共享內存)

實現的工具: 信號量集

 

3、線程的互斥和同步機制:

應用的地方: 多線程編程

實現的工具互斥鎖 信號量 條件變量

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章