一直很困惑一个问题:

我设置了一个10秒的定时器,可是被调用的函数要花费30秒,

那待调用的函数第二次是什么时候调用的呢?

20秒, 40秒, 还是50秒呢....

所以我进行了实验.

我写了一个类 CExecSqlTimer, 这里类封装了.setitime.

这个类创建一个线程来调用待调用函数.

 CExecSqlTimer *time = new CExecSqlTimer;
time->SetInterval( * );
time->Start();

待调用函数:

 BOOL CExecSqlTimer::OnTimer()
{ static DWORD dwTick = ::GetTickCount();
static int i = ;
DWORD t = ::GetTickCount() - dwTick;
CString str;
str.Format(" 第 %d 次 %d ms调用.", i, t);
TRACE("%s\n", str);
Sleep();
str.Format(" 第 %d 次 %d ms 执行完.", i, ::GetTickCount() - dwTick);
TRACE("%s\n", str);
i++;
return TRUE;
}

关键看执行完代码:

  第  次  ms调用.
第 次 ms 执行完.
第 次 ms调用.
第 次 ms 执行完.
第 次 ms调用.
第 次 ms 执行完.
第 次 ms调用.
第 次 ms 执行完.
第 次 ms调用.
第 次 ms 执行完.
第 次 ms调用.
第 次 ms 执行完.
第 次 ms调用.
第 次 ms 执行完.

事实就放在这里了哈~

想要10秒执行一次,那你就在函数里开个线程去处理你的内容把~

  

最新文章

  1. [测]jieba分词
  2. 详解shape标签
  3. Python eclipse开发环境搭建
  4. redis 2.4异常
  5. LINUX 下mysql数据库导出
  6. CSS中2d转换:transition过渡放在:hover伪类中与应用在整个元素中区别
  7. ListCtrl控件
  8. 【UOJ UNR #1】火车管理
  9. django 实战篇之模板层
  10. Redis哨兵模式(sentinel)部署记录(主从复制、读写分离、主从切换)
  11. Loadrunner11.0 录制手机App脚本的方法一
  12. js实现上传前删除指定图片
  13. linux系统坏了,进不了登陆界面怎么办?
  14. Java try-catch-finally 返回值
  15. vue select二级城市联动及第二级默认选中第一个option值
  16. HDOJ1001
  17. mac系统安装redis
  18. c++ 中的 set
  19. IT诗词
  20. appium 滑动封装

热门文章

  1. 数迹学——Asp.Net MVC4入门指南(2):添加一个控制器
  2. 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
  3. PHP 数组 foreach引用导致的bug
  4. for xml path(''),root('')
  5. SQL:查找被锁的表,以及锁表的SQL语句(重点推荐)
  6. 关于动态生成data组件
  7. 网站整合Ucenter详细流程
  8. SQL 之witn as语法
  9. C# 文件大小
  10. finder的隐藏文件&IOS虚拟机地址