非同期それらを実行することができます。 Async-Awaitは、あるスレッドが何か準備ができるまで待たなければならない間に、あるスレッドが他のものをやり遂げることを意図しています。
async-awaitを使用する理由と理由を理解するのに役立つ何かthis interview with Eric Lippert真ん中で非同期待機が検索されました。非同期のawaitを理解する私を助け
もう一つは、彼らが何かを待っている間、あなたが起動しようとしているスレッドが行うに何か有用なものを持っていない場合は、あなたがそれらを開始する使用することができthis article by the ever so helpful Stephen Cleary
た:
static class Program
{
static void Main(string[] args)
{
List<Task> runningTasks = new List<Task>();
IEnumerable<Action> thingsToDo = GetThingsToDo()
foreach (Action thingToDo in thingsToDo)
{
Task startedTask = Task.Run(() => thingToDo);
runningTasks.Add(startedTask);
}
// now that all tasks are started do something else
// after a while wait until all tasks finished
Task.WaitAll(runningTasks.ToArray());
}
}
アクションの中で何かを待っている間に、あなたのアクションの1つを実行しているスレッドが意味のあることを行うことができる場合にのみ、asyncを宣言してアクションを待つことを検討し、Task.Run(async()=> ..)
しかし、それでもなお、あなたのメインスレッドは待つことができる機能にある必要はありません。他のすべてのスレッドを開始した後も、実行したいことは自由に実行できます。
'Task'sが' async'の場合、それらを並列に実行するためにそのような多数のスレッドは必要ありません。あなたが実際に何をしようとしているのかを説明し、あなたのコードを私たちにも示してくれたら助かります。 – svick
実際に私は – hemantsharma