10個のスレッドを同時に走らせて並列処理したいとする。 まさか new Thread(...).Start() なんてやらないですよね。 LINQでasync/awaitだーってのもアリかもしれませんが、 素直にTaskを10個作ろうとすると↓こんな感じ。 for (int i = 0; i < 10; i++) { Task.Run(() => { Thread.Sleep(4000); //4秒くらいかかる処理 }); } もちろん10個ほぼ同時に走ってくれることを期待する。 確認してみる。 var watch = Stopwatch.StartNew(); for (int i = 0; i < 10; i++) { Task.Run(() => { var threadId = Thread.CurrentThread.ManagedThreadId; Console.WriteL