C#のawait/asyncパターン全体が完全に混乱しています。非同期メソッドを待つ
私はフォームアプリケーションを持っており、1トンの処理に20秒かかります。だから私はawait
にしたい。正しい方法はasync Task
とマークすることだと思っていましたが、これを実行すると、どこにでもawait
を使用しないため警告が表示されます。
googleはTaskCompletionSource<T>
を返すことについて明らかにしましたが、無効なので返品タイプはありません。
await
を使用してこのメソッドを呼び出すにはどうすればよいですか?
await Task.Run(() => YourMethod());
あなたはTask.Runメソッドを使用する場合、それはあなたのためawaitableタスクを作成します:
'async'はバックグラウンドスレッドでメソッドを実行しません。私は役に立つかもしれない['async' /' await'の紹介(http://blog.stephencleary.com/2012/02/async-and-await.html)を持っています。 –