分享一个超级延时方法C#(其实也适用于java)
warning:
这篇文章距离上次修改已过528天,其中的内容可能已经有所变动。
分享一个超级延时方法C#(其实也适用于java)
做多线程开发时,我们经常要用到Thread.sleep,然面这货挂起线程后想随时控制它就不好办了。比如sleep(100*1000),一旦执行,你要等100秒后才能对该线程操作,用户体验很差。
有人会说用Suspend就行了,可惜微软早已不建议使用此方法!这里我想到了一个比较好的控制延时方法,直接上代码吧:
/// <summary>
/// 设置延时
/// </summary>
///<param name="iSleepSec">延时xx秒</param>
/// <returns>true则继续,false要退出线程</returns>
bool doSleep(int iSleepSec)
{
if (iSleepSec > 0)
{
//这样对于超长的延时都可以即时响应用户操作
for (int iSleep = 0; iSleep < iSleepSec; iSleep++)
{
if (isStop)
return false;
Thread.Sleep(1000);
}
}
return true;
}
评论已关闭