默认

[已回复] 研究mobileIMSDK源码的qos机制遇到的疑问

查看数: 24756 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-06-07 23:24

正文摘要:

QoS4SendDaemonRoot,在这个类中,定时任务定期执行doTaskOnece()这个方法,这里面的_excuting变量不是很理解它的作用,知道它是标识这个任务正在执行,但是为什么这么设计不是很理解。求解答。

评论

愿意 发表于 1 年前
引用:JackJiang 发表于 2023-06-08 11:57
你再深入研究一下,假设task没有执行完成,而下一个定时周期到来时,Timer会怎么做

会推迟执行,(15条消息) Timer使用介绍_timer的使用_Unicorn@Topcode的博客-CSDN博客,这是我看别人的博客这样说的
JackJiang 发表于 1 年前
引用:愿意 发表于 2023-06-08 11:45
timer不会出现一个任务还没执行完就执行下一个任务的情况吧,它是单线程运行的,我看源码里面也没有另外 ...

你再深入研究一下,假设task没有执行完成,而下一个定时周期到来时,Timer会怎么做
愿意 发表于 1 年前
引用:JackJiang 发表于 2023-06-08 11:24
防止上次任务在极端情况下定时时间间隔内还没执行完成,而下次的循环又到来。

这种情况不一定真的会发生 ...

timer不会出现一个任务还没执行完就执行下一个任务的情况吧,它是单线程运行的,我看源码里面也没有另外用线程池来实现执行耗时任务
JackJiang 发表于 1 年前
防止上次任务在极端情况下定时时间间隔内还没执行完成,而下次的循环又到来。

这种情况不一定真的会发生,但写程序不就是要把所有的可能性都考虑到嘛,所谓健壮性

返回顶部