既にやってるけど、Task.Startでタスクを開始するという場合もある。
Task.Start メソッド (System.Threading.Tasks) | Microsoft Docs
コンソールアプリでTask.Startはやってるけど、WinFormsでTask.Startした場合に、Taskの外と中で、現在のタスクスケジューラとスレッドIDがどうなってるか確認してみる。
![button1を配置](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210915/20210915122055.png)
button1を配置。
Form1.csは、
タスクの前後と中で、現在のタスクスケジューラとスレッドIDをデバッグ出力。
![デバッグ実行だとこの状態なので](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210915/20210915122414.png)
デバッグ実行だとこの状態なので、
![右下のペインを大きく広げる](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210915/20210915122522.png)
右下のペインを大きく広げる。
![出力タブにする](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210915/20210915122617.png)
出力タブにする。
Form1に戻って、button1を押すと、
![TaskScheduler.Currentは常にThreadPool、ThreadIdはTaskの中だけ違う。](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210915/20210915122736.png)
TaskScheduler.Currentは常にThreadPool、ThreadIdはTaskの中だけ違う。
WinFormsでもTaskは基本ThreadPoolなので毎回違うThreadIdが振られる。
Sample/dotnet/Task/Start/src/Task_ at master · bg1bgst333/Sample · GitHub