以前は、ループ タスクを作成すると、最初は完全に実行され、タイミングの問題が原因で失敗していました。たとえば、ある個々のタスクの関数が、そのタスクの前に来るようにプログラムされていたとしても、別のタスクよりも速く実行を開始するなどでした。
したがって、遅延(時間)が終了したらタスクのイベントを繰り返す方法を理解するという私の考えは、私の頭の中で次のようになります。
private async Task programCore()
{
int n = 1000;
for (int i = 0; i < n; )
{
FirstThing();
await Task.Delay(2100);
SecondThing();
await Task.Delay(2200);
ThirdThing();
await Task.Delay(2300);
}
////////////////////////////////////////////////////////////////////////////
else if (programCore.TasksHaveAllTimedOut) // Idealistic code.
{
programCore.Restart();
}
}
このようなことは可能ですか?そうでない場合、それを行うより良い方法はありますか?