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

多个定时器的程序解决方法

2012-07-30 
多个定时器的程序我在一个程序中设置了多个定时器执行的时候报错公用的变量没有加互斥跟程序 后感觉一个定

多个定时器的程序
我在一个程序中设置了多个定时器 执行的时候报错 公用的变量没有加互斥 
  跟程序 后 感觉一个定时器的响应函数相当于一个线程 应为其中一个定时器的函数没走完 就执行另一个定时器的函数去了  
  想知道 定时器是怎么执行的 像这种多定时器在一个程序中时 定时时间 和执行时间 又有冲突的情况下 是怎么执行的? 
  高手指点

[解决办法]
不加互斥会出问题
[解决办法]

探讨
这个会冲突吗?我感觉只要设置好定时器的事件,不能定时器执行不同的函数,就不会出问题吧?

[解决办法]
探讨
引用:
这个会冲突吗?我感觉只要设置好定时器的事件,不能定时器执行不同的函数,就不会出问题吧?

可以根据定时器不同的nIDEvent 来进行区分。。

[解决办法]
SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) );
多个定时器就把nIDEvent设成不同的值就可以了,比如二个定时器,就把nIDEvent分别设为0,1.这样你在回调函数中就可以用UINT nIDEvent这个参数来分辨出是哪个定时器发出的消息了

热点排行