我對使用鎖定空閒隊列有疑問。關於鎖定空閒隊列的問題
假設我有一個單生產者單消費者隊列,其中 生產者和消費者綁定到單獨的核心。隊列元素 是共享內存的緩衝區,它在開始時由生產者和消費者兩者進行映射。
生產者獲得一個隊列元素,用數據填充緩衝區,然後 對它進行排隊,然後消費者將元素出隊,讀取它並以 以某種方式對其進行處理。
作爲無鎖隊列的用戶,我是否必須明確確保生產者編寫的緩衝區對用戶是可見的?或者算法核心的CAS(或其他類似的)基元自動提供 障礙嗎?
這兩個例子,我看到使用整數作爲有效載荷, 所以這個內存同步問題不會出現。
謝謝,
已經回答了,有人可能會喜歡閱讀一次。 http://drdobbs.com/cpp/210600279 –