我有一个非常简单的for循环,看起来像这样
for(int i = 0; i< 26; i++)
{
DoSomething(i);
}
DoSomething函数大约需要3分钟才能执行 . 我想写一个for循环,每分钟调用DoSomething()而不等待前一个调用完成 . 我试着这样做:
Parallel.For(0, 26, i =>
{
DoSomething(i);
System.Threading.Thread.Sleep(60000);
}
但它不起作用,因为它首先打电话然后睡觉 . 反转这些步骤也意味着DoSomething方法在每次调用之间无延迟地调用fire . 如何设置它以便每分钟调用DoSomething?
谢谢!
2 回答
您可以使用Task.Delay,它在内部使用
Timer
对象:或者如果你想保持
for
循环: