ホームページ  >  記事  >  バックエンド開発  >  C#でのManualResetEventの使い方を詳しく解説

C#でのManualResetEventの使い方を詳しく解説

黄舟
黄舟オリジナル
2017-06-04 09:44:083201ブラウズ

この記事では、ManualResetEvent の使い方を詳しく紹介します。興味のある方は参考にしてください。

この記事の例では、ManualResetEvent の使い方を皆さんに共有しています。具体的な内容は次のとおりです

1. ソースコードのダウンロード:

デモ:

2. ManualResetEvent の詳細説明

ManualResetEvent を使用すると、スレッドがシグナルを送信して相互に通信できます。通常、この通信には、他のスレッドが続行する前に 1 つのスレッドが完了する必要があるタスクが含まれます。スレッドがアクティビティを開始すると (このアクティビティは、他のスレッドが開始できる前に完了する必要があります)、Reset を呼び出して ManualResetEvent を非終了 状態 に置き、このスレッドは ManualResetEvent を制御すると考えることができます。 ManualResetEvent で WaitOne を呼び出すスレッドはブロックされ、シグナルを待ちます。制御スレッドがアクティビティを完了すると、Set を呼び出して、待機中のスレッドが続行できることを通知します。そして待機中のスレッドをすべて解放します。 ManualResetEvent が終了すると、手動でリセットされるまで、ManualResetEvent は終了したままになります (つまり、WaitOne を呼び出したスレッドはすぐに戻り、ブロックされません)。 ManualResetEvent の初期状態は、コンストラクター にブール値を渡すことで制御できます。初期状態が終了する場合は true、それ以外の場合は false です。

リーリー

以上がC#でのManualResetEventの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。