1. 概述 在現代嵌入式系統和實時數據處理應用中,環形緩衝區(Ring Buffer)是一種非常重要的數據結構。它能夠有效地處理數據流,特別是在生產者-消費者場景中。然而,傳統的環形緩衝區在寫滿時通常會丟棄新數據或阻塞寫入,這在某些實時性要求高的場景下可能不是最優選擇。 本文介紹的覆蓋式環形緩衝區(Overwrite Ring FIFO)解決
在上一篇博客中,我們見識了多線程“裸奔”(無同步機制)時導致的銀行賬户錯誤和打印亂碼。為了解決這些問題,我們需要引入一種機制,保證同一時刻只有一個線程能訪問共享資源。 這個機制就是互斥量(Mutex)。你可以把它想象成洗手間門上的鎖:“有人佔用,閒人免進”。 一、 互斥鎖的“使用説明書” 互斥鎖本質上是一個結構體 pthread