首页 新闻 会员 周边 捐助

有关C++中定时器与线程的不同

0
悬赏园豆:20 [待解决问题]

这两天一直在思考一个问题,就是定时器(alarm或者timer)的原理到底是什么,我在网上看了很多说定时器是一种消息队列的机制,可是为什么它可以独立于主线程执行,到了规定时刻就执行了定时器所要执行的代码片段,这样的话不就相当于是并行了么。想问一下定时器与线程区别在哪里,它可以使用开启定时器中线程的私有变量和函数么。

Boblim的主页 Boblim | 菜鸟二级 | 园豆:492
提问于:2017-02-10 13:38
< >
分享
所有回答(2)
0

简单来说定时器就是线程的一种用法.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-02-10 13:40

还有就是想问一下定时器只能在main函数,也就是主线程中使用么。我想在子线程中使用可以么

支持(0) 反对(0) Boblim | 园豆:492 (菜鸟二级) | 2017-02-10 16:19

@Boblim: 写个代码跑一下不就知道了.

我猜是可以的.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-02-10 17:47
0

就是说,定时器可以设定一个时间,设置一个ID,然后写出这个ID对应的响应函数

过程就是事件1的定时器开始工作,然后程序开始计时,到了这个时间,触发ID1的消息,消息队列得到这个消息,触发ID1的消息响应函数,进入下一个定时循环

付栋 | 园豆:204 (菜鸟二级) | 2017-02-23 17:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册