非同期:Task <>でasyncとawaitを使用する理由私は私がしたい通常の方法を持っている場合は
public int Foo(){}
は、私はどうなる:
public Task<int> FooAsync(){
return Task.Run(() => Foo());
}
をなぜだろう:
public async Task<int> FooAsync(){
return await Task.Run(() => Foo());
}
私がすることを計画する方法をこれは次のとおりです:
FooAsync().ContinueWith((res) => {});
メソッドを停止せずに実行するだけですが、コールバックのようなものが起動されるようにしたいので、ContinueWith
とします。しかし、2番目のバージョンでは、それを使用するポイントはありますか?私の理解で
優秀な説明! – paulsm4
ありがとう、@ paulsm4。私は、私が最近聞いたことを書き直していると言わなければならない、と私は思う、それはhttp://hanselminutes.com/327/everything-net-programmers-know-about-asynchronous-programming-is-wrongからだと思う。 100%は確実ではありません。私はまだ非同期機能に関する多くの経験がありませんでしたので、私は間違っている可能性があり、私はもっと学ぶことを喜んで、おそらく非同期はこの場合いくつかの利点を提供します。 –
さらに、[同期メソッドの非同期ラッパーを公開する必要がありますか?](http://blogs.msdn.com/b/pfxteam/archive/2012/03/24/10287244.aspx)の回答あなたが同期メソッドを持っているならば、ほとんど常に "いいえ"です、そしてそれに同期メソッドシグネチャを与えます)。 –