前言
信號量概念
信號量常用API
1.創建/獲取一個信號量
2.改變信號量的值
3. 控制信號量
信號量函數調用
運行結果展示
前言
上一篇文章介紹的共享內存有局限性,如:同步與互斥問題、內存管理復雜性問題、數據結構限制問題、可移植性差問題、調試困難問題。本篇博文介紹的信號量能夠解決第一個同步與互斥問題。
信號量概念
信號量本質上是一個計數器(不設置全局變量是因為進程間是相互獨立的,而這不一定能看到,看到也不能保證++引用計數為原子操作),用于多進程對共享數據對象的讀取,它和管道有所不同,它不以傳送數據為主要目的,它主要是用來保護共享資源(信號量也屬于臨界資源),使得資源在一個時刻只有一個進程獨享,解決了互斥問題。