この記事では、ManualResetEvent の使い方を詳しく紹介します。興味のある方は参考にしてください。
この記事の例では、ManualResetEvent の使い方を皆さんに共有しています。具体的な内容は次のとおりです
1. ソースコードのダウンロード:
デモ:
2. ManualResetEvent の詳細説明
ManualResetEvent を使用すると、スレッドがシグナルを送信して相互に通信できます。通常、この通信には、他のスレッドが続行する前に 1 つのスレッドが完了する必要があるタスクが含まれます。スレッドがアクティビティを開始すると (このアクティビティは、他のスレッドが開始できる前に完了する必要があります)、Reset を呼び出して ManualResetEvent を非終了 状態 に置き、このスレッドは ManualResetEvent を制御すると考えることができます。 ManualResetEvent で WaitOne を呼び出すスレッドはブロックされ、シグナルを待ちます。制御スレッドがアクティビティを完了すると、Set を呼び出して、待機中のスレッドが続行できることを通知します。そして待機中のスレッドをすべて解放します。 ManualResetEvent が終了すると、手動でリセットされるまで、ManualResetEvent は終了したままになります (つまり、WaitOne を呼び出したスレッドはすぐに戻り、ブロックされません)。 ManualResetEvent の初期状態は、コンストラクター にブール値を渡すことで制御できます。初期状態が終了する場合は true、それ以外の場合は false です。
リーリー以上がC#でのManualResetEventの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。