1Readerスレッド/1Writerスレッド設定で標準リングバッファの実装を使用しています。
リーダーはバッファーが空のときにループし[ライターはバッファーがいっぱいになるとループします]、制御変数を継続的にポーリングするため、pthread_yield(私の場合はsched_yieldのラッパーのみ)を呼び出して、システム内の他のスレッドを優先します。正しく機能するために必要ではないため、ミューテックスは使用していません。
ポーリングの影響(別名CPU書き込み)を軽減するためのより良い方法はありますか?私はpthreadの条件変数について考えていましたが、データがない[スペースがない]場合はほとんどスレッドをブロックするためですが、オーバーヘッドが発生する可能性があるのではないかと心配しています。
ありがとう