エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
C#:Task.Run() に渡すメソッドも(できれば)async にしよう
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C#:Task.Run() に渡すメソッドも(できれば)async にしよう
Task.Run() は .NET において指定した処理をスレッドプール上で実行させるメソッドです。元のスレッドを... Task.Run() は .NET において指定した処理をスレッドプール上で実行させるメソッドです。元のスレッドをブロックせずに処理を実行させることができるため、重めの処理を別のスレッドに逃がしたいときによく使います。 Console.WriteLine("Start"); await Task.Run(() => { HeavyAndBlockingMethod(); File.WriteAllBytes("very_large_file.bin", data); HeavyAndBlockingMethod(); }); Console.WriteLine("End"); ただし、スレッドプール上でブロッキング処理を行うのは注意が必要です。スレッドプールが保持するスレッドの数は有限なので、すべてのスレッドを重めのタスクが占有すると新たなタスクが開始できなくなり、結果として全体のスループ

