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

OnTimer函数能与除此以外的线程函数共享变量吗

2013-01-07 
OnTimer函数能与另外的线程函数共享变量吗?OnTimer函数能与另外的线程函数通过Mutex实现对共享变量的访问,

OnTimer函数能与另外的线程函数共享变量吗?
OnTimer函数能与另外的线程函数通过Mutex实现对共享变量的访问,而不会造死锁?
[解决办法]
可以啊,你设置临界区
[解决办法]
尽量用轻量级的锁,如临界区
另外,不要锁太多、太耗时的代码
[解决办法]

引用:
是不是OnTimer是主线程(或者进程),一旦工作线程获取到互斥锁,没有释放时,定时器时间到了,进入OnTimer去获取mutex,始终无法得到,但工作线程又不会再被调用(锁无妨释放)


OnTimer会等你在工作线程里把锁释放了
[解决办法]
onTimer应该算是主线程的
[解决办法]
如果只是读,而且是显示给ui的变量就不要加锁了,没有必要.
[解决办法]
不建议在ONTIMER中锁,因为定时器是利用中断来实现的,容易挂起界面...
[解决办法]
引用:
不建议在ONTIMER中锁,因为定时器是利用中断来实现的,容易挂起界面...


OnTimer也是一个消息处理函数,主线程检测到消息队列中有WM_TIMER消息后调用相应的消息处理函数OnTimer,这个还是主线程

热点排行