我写应用程序需要检查checkLogin()
睡觉的时间> 30秒。
然后,它将中断此while loop
并继续该程序。
我的代码是这样的:
while(!Account.checkLogin())
{
Thread.Sleep(1000);
}
如何检查:
while(!Account.checkLogin())
{
Thread.Sleep(1000);
if(Thread.Sleep like 30000)
continues;
}
答案 0 :(得分:2)
如果我正确理解了这个问题,你可以总结一下迭代,并在终止条件下使用它们,如下所示。
int MAX_ITERATIONS = 30;
int NumOfIterations = 0;
while(!Account.checkLogin() && NumOfIterations < MAX_ITERATIONS)
{
Thread.Sleep(1000);
NumOfIterations++;
}
答案 1 :(得分:0)
你可以睡30秒:
Thread.Sleep(30000);
然而,这会阻碍线程并阻止你在中间做任何事情。我更喜欢使用TimeSpan
,例如:
DateTime started = DateTime.UtcNow;
while (!Account.checkLogin())
{
TimeSpan ts = DateTime.UtcNow - started;
if (ts.TotalSeconds >= 30)
break;
Thread.Sleep(1000);
}