C++想实现每10秒运行个方法,就是循环,但又不影响 同线程继续往下走

用计时器的话是导致该线程停止10秒,并不是我要的结果,我是要该方法每10秒运行一次,同时不影响到线程继续往下跑... 用计时器的话是导致该线程停止10秒,并不是我要的结果,我是要该方法每10秒运行一次,同时不影响到线程继续往下跑 展开
 我来答
lostuser
2010-09-16 · TA获得超过1836个赞
知道大有可为答主
回答量:972
采纳率:0%
帮助的人:0
展开全部
计时及执行的方法都在一子线程里运行,但你的执行方法必须要自己重新设计。

该子线程,以及10秒一次执行的进程,必须要能时刻准备响应外部停止线程的指令(用临界区做同步),比较好的方式,是空闲时不断调用sleep(1),然后判断是否到时,外部是否要求线程中止,同时,你的那方法也应该能按此方式设计——如果有长期耗时执行过程,你也要有能力把它们拆分成至少是毫秒级别的单位,分开执行,执行过程中不需要sleep(1),但需要监视外部对线程的中止指令,一旦有指令,无论执行的方法还是线程本身,都要及时中止运行。这样才能整体上无阻塞。

定时也可以在主线程里用定时器做,到时间给子线程的窗口函数发个消息,让它执行方法,其他的仍是上述方式运作。
gamespy1991
2010-09-16 · TA获得超过1262个赞
知道小有建树答主
回答量:1636
采纳率:0%
帮助的人:1204万
展开全部
不可能不影响同线程继续运行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heroinhell
2010-09-16
知道答主
回答量:11
采纳率:0%
帮助的人:4.6万
展开全部
可以把方法单独放在一个线程里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
777999666qhw
2010-09-16 · TA获得超过4871个赞
知道大有可为答主
回答量:5615
采纳率:25%
帮助的人:4615万
展开全部
计时器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式