默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 研究mobileIMSDK源码的qos机制遇到的疑问
QoS4SendDaemonRoot,在这个类中,定时任务定期执行doTaskOnece()这个方法,这里面的_excuting变量不是很理解它的作用,知道它是标识这个任务正在执行,但是为什么这么设计不是很理解。求解答。
[已回复] 研究mobileIMSDK源码的qos机制遇到的疑问_QQ图片20230607232240.png

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:[已回复] 研究mobileIMSDK源码,对于ack应答包的类型,有个疑惑下一篇:适合萌新的Spring boot集成MobileIMSDK实践分享
推荐方案
评论 4
引用:JackJiang 发表于 2023-06-08 11:57
你再深入研究一下,假设task没有执行完成,而下一个定时周期到来时,Timer会怎么做

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

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

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

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

这种情况不一定真的会发生,但写程序不就是要把所有的可能性都考虑到嘛,所谓健壮性
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部