データが定期的に更新されるユースケースがあります。ただし、データを読み取る複数のスレッドがあります。したがって、私たちが考えている解決策は、ダブル バッファを使用することです。したがって、プロデューサーがバックグラウンド ページを更新している間、コンシューマー スレッドはフォアグラウンド ページを読み取ります。プロデューサーがバックグラウンド ページを更新すると、 lock を取得せずにフォアグラウンド ページをこのページと交換します。データが同じであろうと異なっていようと、操作には影響しないので気にしません。問題は、同じジョブに2つのバッファを使用して物事を回転させ続けることができる従来の生産者消費者の問題を知っているので、仕事をする方法ですが、スワップする問題はロックが必要ですが、それが私たちが望んでいることです避けるために。
それで、物事をどのように実行するか。この点でのポインタは素晴らしいでしょう。