以前,当创建一个循环任务时,它会在第一次完美运行并由于时间问题而崩溃,例如一个单独任务的功能会比另一个任务开始运行得更快,即使它被编程为在该任务之前运行。
所以我的想法是想办法在延迟(时间)结束后重复任务的事件,在我的脑海中它会是这样的:
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();
}
}
这样的事情可能吗?如果没有,有没有更好的方法来做到这一点?