Windows 下, SetTimer 定时器的研究.
一直很困惑一个问题:
我设置了一个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秒执行一次,那你就在函数里开个线程去处理你的内容把~
Windows 下, SetTimer 定时器的研究.的更多相关文章
- (转)Memcached 在windows下的java使用
Memcached 在windows下的java使用 研究这个东东主要是为了解决在教务管理中选课系统的大并发情况下数据库频繁读写造成速度慢的问题,但要使用WEB服务器的内存,是不是可靠还需要验证, ...
- windows 下,用CreateWaitableTimer SetWaitableTimer 创建定时器(用轮询的办法保持高精度)
windows 下,用CreateWaitableTimer SetWaitableTimer 创建定时器可以有 100 纳秒也就是 1/10 微秒, 1/10000 毫秒的精度. 呵呵. SetWa ...
- 研究windows下SVN备份及还原恢复方案
windows下SVN备份方案 备份策略 svn备份一般采用三种方式: 1)svnadmin dump 2)svnadmin hotcopy 3)svnsync. 注意,svn备份不宜采用普通的 ...
- QTimer源码分析(以Windows下实现为例)
QTimer源码分析(以Windows下实现为例) 分类: Qt2011-04-13 21:32 5026人阅读 评论(0) 收藏 举报 windowstimerqtoptimizationcallb ...
- windows下实现win32俄罗斯方块练手,编程的几点心得
编程珠玑2阅读笔记: 1.使用c语言性能监视器,完成对代码的调优工作 2.关联数组: 拓扑排序算法,可以用于当存在遮挡的时候决定三维场景的绘制顺序. 3.小型算法中的测试与调试工具 脚手架程序:&l ...
- 全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)
不多说,直接上干货! 缘由: (1)最近看到情侣零点送祝福,感觉还是很浪漫的事情,相信有很多人熬夜为了给爱的人送上零点祝福,但是有时等着等着就睡着了或者时间并不是卡的那么准就有点强迫症了,这是也许程序 ...
- Windows下编程--模拟时钟的实现
windows下编程--模拟时钟的实现: 主要可以分为几个步骤: (1) 编写按键事件处理(启动和停止时钟) (2) 编写时钟事件处理,调用显示时钟函数 (3) 编写显示时钟函数,要调用显 ...
- WINDOWS下如何安装GCC(转载http://nirvana.cublog.cn;作者:北斗星君(黄庠魁))
第一章 在视窗操作系统下的GCC 第一节 GCC家族概览 GCC 是一个原本用于 Unix-like 系统下编程的编译器.不过,现在 GCC 也有了许多 Win32 下的移植版本.所以,也许对于许多 ...
- Windows 下 ffmpeg 转 mp4
最近在研究所有视频格式转 mp4 因为html5 只支持mov MP4 等格式..查阅了 很多资料发现 转成flv 很简单.. 可是要转 mp4 就难了... 经过我不屑的努力..终于转换成功了 ...
随机推荐
- WorldChat.lua --世界聊天
print(">>Script: Wolrd Chating.") local SAY=" "--普通聊天 --联盟阵营 --部落阵营 local ...
- pt-find 使用实例
pt-find - Find MySQL tables and execute actions, like GNU find. 用法:pt-find [OPTION...] [DATABASE...] ...
- ios crash 日志分析
以下内容来自网络 https://coderwall.com/p/ezdcmg/symbolicating-an-ios-crash-log-without-the-original-dsym-fil ...
- .NET:序列化和反序列化
.NET:序列化和反序列化 需要反序列化的字符串: { "LouPanID": "sample string 1", "LouPanHao" ...
- sharedPreference
http://blog.csdn.net/yong199105140/article/details/8425247 SharedPreferences 分类: Android2012-12-24 1 ...
- Unity3D学习笔记
双击或F-居中显示对象 Alt-旋转场景 Align With View-正视主镜头 添加质量 使成为预制物体, 即flash中元件, 预制物体在Hierarchy中名字成蓝色, Assets是的对象 ...
- Redirecting Console.WriteLine() to Textbox
I'm building this application in Visual Studio 2010 using C#. Basically there are 2 files, form1.cs ...
- 刷了OpenWrt Attitude Adjustment 12.09,很满意
OpenWrt的这个新版本编译好的固件里集成了luci,图形界面还是很方便的. 装了wpad.qos之后,空间刚好剩下一点点,囧,4M闪存还是不够折腾啊. 发现一个bug:如果空间不够的情况下继续安装 ...
- C++设计模式-AbstractFactory抽象工厂模式
AbstractFactory 要创建一组相关或者相互依赖的对象 作用:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. UML结构图: 抽象基类: 1)AbstractProdu ...
- JAVAWEB监听器(二)
监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事 ...