ライブラリ内でメソッド「Foo(object s, Action action)」を呼び出しています。関数自体にはある程度の実行時間が含まれるため、CountDownEvents を使用して、関数がジョブを完了したときに通知します。
何かのようなもの、
countdownEvent.Reset();
try
{
Foo(obj, ()=> countdownEvent.Signal());
}
catch(Exception e)
{
countdownEvent.Signal();
}
countdownEvent.Wait();
私が理解していない部分は
- () => countdownEvent.Signal() とはどういう意味ですか? 特に「()=>」は何の略ですか?
- メソッドのシグネチャが Foo(object s, CountDownEvent event) と書かれておらず、内部でシグナルを送ることができるのはなぜですか?
- 私はまだActionクラスを本当に理解していません。少しグーグルで検索しましたが、開始するための非常に単純な例が見つかりません。
どんな助けでも大歓迎です!