私はC#を初めて使用していて、Async/Awaitを使用するケースと、Async/Awaitが新しいスレッドを作成しないことを理解してスレッドを使用するタイミングが不思議でした。Async/Await vs Threadsシナリオ
たとえば、次の10時間ごとに毎時印刷の予定を設定する場合は、以下の2つの印刷方法のどちらを使用する必要がありますか?
private async void PrintHelloAsync(int delay)
{
await Task.Delay(delay);
Console.WriteLine("Hello");
}
private void PrintHelloThread(int delay)
{
Task.Run(async() =>
{
await Task.Delay(delay);
Console.WriteLine("Hello");
});
}
遅延を増やして10回PrintHelloAsyncを呼び出すか、PrintHelloThreadを使用する必要がありますか?
私はこれらの並行性の概念を正しく使用していますか?
今私は6PM、9PM、およびMidnightでタスクをスケジュールする必要があるプロジェクトに取り組んでおり、これを実行する最善の方法を見つけようとしていました。
2つの機能は、基本的には同じものですが、2つ目の機能は待つことができません。 'PrintHelloThread'は" Hello "を1回だけ表示します。 –
誰かがasync awaitは新しいスレッドを作成しないと言ったのですか?非同期メソッドは、いくつかの非同期作業を行うことを想定しています。呼び出しスレッドは、awaitステートメントが発生するとすぐに実行を継続します。非同期メソッドの残りのプロセスを実行するために新しいスレッドが(スレッドプールに依存して)作成される可能性があります。 –