これがシナリオです。値を読み取る複数のプロセッサ スレッドがあります。値に書き込むことができるスレッドは 1 つだけです。設定上、当然、書き込み中は誰も読み取ることができません。そのため、CCriticalSection は、1 人が新しい値を書き込んでいるときに、すべてのワーカー スレッドをロックアウトします。ただし、これを行うと、誰かがそれを見ようとするたびにすべてのワーカー スレッドが停止します (相互にロックアウトされます)。値を読み取るためにすべてのワーカーが停止して列に並ぶ必要があるため、処理にボトルネックが生じます。CCriticalSection以外に、すべての小さなワーカーが読み取りを続行できるようにする方法はありますか(これは問題ありません。スレッドの問題はありません)、メインスレッドが書き込みたいときにのみ停止しますか?
ワーカーに停止するように指示するブール値を設定し、次に Sleep() を 1 秒ほど (完了させるために) 更新し、ブール値をリセットすることを検討しました。それはちょうど..まあ..ヘビーハンドのようです。