General Recommendations#3の意味は何ですか?マネージドスレッディング一般推奨事項#3
(例えば、 イベントを使用して)あなたのメインプログラムからのワーカー スレッドの実行を制御しないでください。代わりに、 ワーカースレッド が作業 が利用可能になるまで待つこと、実行すること、そして完了すると が完了すると、他の部分に通知するようにプログラムを設計してください。ワーカースレッド がブロックしない場合は、スレッド プールスレッドの使用を検討してください。 Monitor.PulseAllは で、作業者が スレッドブロックの状況で役立ちます。
例で説明できますか?
- 出典:MSDN - Managed Threading Best Practices
このブロッキングスレッドのシナリオでMonitor.PulseAll()は何を使用していますか?私はMS推薦の最後の文を指しています。 – aschoenebeck
これは実際にはかなり奇妙な文章です。 Monitor.PulseAllは、Monitor.Waitの呼び出しでブロックされたスレッドをスリープ解除する方法です。私は正直言って、彼らが何を運転しているのか分からない。たぶん、あなたはモニター待機/パルスのセマンティクスを使用することを勧めているだけかもしれません。 –