我已經實現了一個緩衝區。該緩衝區有兩個屬性讀取和寫入。 read函數調用等待read_slot信號量可用。 write函數調用在write_slot上等待。 write_slot信號量安裝到初始計數100和最大計數100,而讀取插槽初始化爲初始計數0和最大計數100.信號量等待事件觸發窗口形式
因此,我觸發事件寫入緩衝區 - >減少寫入槽 - 增加讀取插槽。這個事件有時候會很快被解僱。 讀操作減少read_slot並增加write_slot。 因此,這種體系結構不能面對死鎖 - >因爲只有當read_slot爲0並且write_slot爲0時纔會發生死鎖......這是不可能的,因爲在普通互斥鎖內增加和減少了插槽。
我仍然面臨着僵局。有沒有人有關於事件觸發系統的功能的任何想法。
爲什麼不張貼一些代碼,讓人們可以看看並提供建議? –