1
我在1Reader線程/ 1Writer線程設置中使用規範環形緩衝區實現。緩解環形緩衝區中輪詢效應的策略
由於讀寫器在緩衝區爲空[寫入程序在緩衝區滿時循環]並連續輪詢控制變量時循環,因此我調用pthread_yield(在我的情況下只是sched_yield的包裝)以優先考慮其他線程在系統中。我沒有使用任何互斥鎖,因爲它不需要正常運行。
有沒有更好的方法來減輕輪詢效應(又名CPU燒錄)?我正在考慮pthread的條件變量 - 因爲當沒有數據時[無空間]我大部分會阻塞這個線程 - 但是我擔心會引入開銷。
感謝