天天看點

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

在我的Linux專欄中

講到過多程序程式設計、程序間通信以及多線程程式設計

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

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

我們知道, 多個程序/線程同時通路同一共享資源時

會造成資料混亂

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

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

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

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

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

同步:是指在互斥的基礎上(大多數情況),通過其它機制實作通路者對資源的有序通路。在大多數情況下,同步已經實作了互斥,特别是所有寫入資源的情況必定是互斥的。少數情況是指可以允許多個通路者同時通路資源。

————————————————

摘抄的原文連結:https://blog.csdn.net/qq_41822235/article/details/85838959

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

應用的地方: 程序間通信裡的 (共享記憶體)

實作的工具: 信号量集

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

應用的地方: 多線程程式設計

實作的工具: 互斥鎖 信号量 條件變量

繼續閱讀