1.使用環形緩沖區,進行數據交換,threadWrite -> buf -> threadReadthreadWrite{memcpy(buf[pushCount & mask], value, size);pushCount++;...}threadRead{...}若mask == 2, pushCount從0開始累加當pushCount = 0pushCount & mask == 0當pushCount = 1pushCount & mask == 0當pushCount = 2pushCount & mask == 2這是不是出問題了呢,數組的第二個位置沒寫入,第一個位置被寫了兩遍2.環形隊列的掩碼mask是不是有什么特殊要求,比如奇偶性之類的,望大神解答
環形緩沖區使用&操作是否有BUG?
陪伴而非守候
2018-06-23 09:34:05