Thread.Sleep(1000);是指将当前线程阻止指定时间,到时间后,继续运行后面代码。
但我现在需要的是继续运行代码的条件不是指定时间,而是其他条件,比如 一个静态变量IsCall,当IsCall为true的时候,才继续执行,该怎么写呢?
这是目前做的,感觉有问题:
while(!IsCall)
{
Thread.Sleep(1000)
}
....
但我现在需要的是继续运行代码的条件不是指定时间,而是其他条件,比如 一个静态变量IsCall,当IsCall为true的时候,才继续执行,该怎么写呢?
这是目前做的,感觉有问题:
while(!IsCall)
{
Thread.Sleep(1000)
}
....
{
while(!IsCall)
{
Thread.Sleep(1000)
if(!IsStop)
{
//你的代码
}
else
{
return;//返回
}
}
}
因为你条件改变的时候可能还在sleep中,这样就会判断不及时
也可以使用AutoReSetEvent类
用这个等待你的现场newThread的函数执行完毕。