首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

作定时器用Sleep()有什么缺点么

2013-12-04 
做定时器用Sleep()有什么缺点么?int iHourDiff0if (CompareTime(strNowTime, strClearTime)){//判断清理

做定时器用Sleep()有什么缺点么?




int iHourDiff=0;
if (CompareTime(strNowTime, strClearTime))
{
//判断清理时间是否大于当前时间, 若大于等于, 则时间差为两者相减
iHourDiff = strClearTime.hour - strNowTime.hour;
}
else
{
//若小于, 则时间差为两者相减再加上24小时
iHourDiff = 24+strClearTime.hour - strNowTime.hour;

}
if (iHourDiff > 1)
{
//如果时间差大于1, 则等待时间差-1个小时
cout<<"等待"<<(iHourDiff-1)<<"个小时..."<<endl;
//时间差-1再乘以1个小时的毫秒数,就是需要等待的小时
Sleep((iHourDiff-1) * 3600000);
}
else
{
Sleep(1000);
//若当前时间与定时器时间相等
if (strClearTime.hour == strNowTime.hour && strClearTime.minute == strNowTime.minute && strClearTime.second == strNowTime.second)
{
//执行函数, 清理日志
ProcessFunction(sMouduleFileName, sConfigFileName);
}
}


如果用SetTimer的话,那就只能设置间隔为1000毫秒了,然后一直在那判断..我总觉得这样挺恶心的...
[解决办法]
如果要求不高可以继续使用你的sleep

热点排行