美文网首页
程序设计中的延时问题

程序设计中的延时问题

作者: 刘小白DOER | 来源:发表于2022-07-18 23:37 被阅读0次

    好长时间没有更新了,时间都花在带娃上。以前有时间,可没有这个意识和认知;现在没有时间,偏偏觉悟又上来了。就好比以前有时间可是没有钱去旅游,现在是有点钱,可是没有时间去。唉,人生有时候就是矛盾的。

    今天恰好有同事微信我关于程序延时的问题,笔者思考总结了一下。程序中到底延时怎么做呢?根据业务逻辑特点来确定延时,需要多少设置多少即可。唯一需要注意的是就是在长时间运行的业务上,应该设置个延时,如果是CPU密集型的任务需要马上执行完毕的话道可以不必做个延时,因为很快就运行完毕了。

    那么现在有个情况:主循环延时一秒,那么业务场面上其实不需要这么快的时间周期,但是如果不延时大于1秒或者贴合业务周期的话,那么可能错过业务执行的时间点,比如整数分钟 。那么自己设计程序时应该怎么解决呢?

    笔者有几点思考:

1、延时时间在最小循环时间和业务循环时间之间取个合适值,对于时间要求没有那么精确的话,此方法最简单,但是对于时间要求较高的话,那么这个循环时间无疑会错过业务时间点;

2、判断程序运行时间与下一个业务时间点的差值diff_time,在程序第一次运行时先延时这个差值diff_time,然后再延时业务时间周期 。这个方法就比较贴合实际运行的需求了,而且程序逻辑性还不复杂,实现起来也简单;

3、在第二个方法的基础上,如果程序长时间运行带来时间偏差怎么办?程序延时和电脑的时间可能存在一丝误差,在长时间的运行中就会累计加大差值。笔者想到就是再做个diff_check函数,每天来同步时间延时,保证程序延时后的时间点是业务时间点。此方法可以针对更高要求的场景中。

    上面三个方法是基于时间的方法,有个数据流。那么其实可以根据业务逻辑的某个事件触发来完成业务逻辑,抛弃基于时间延时的思想。

    基于数据流还是事件触发,就看读者自己的业务需求了!

   

相关文章

  • 程序设计中的延时问题

    好长时间没有更新了,时间都花在带娃上。以前有时间,可没有这个意识和认知;现在没有时间,偏偏觉悟又上来了。就好比...

  • “B现象”风波

    “B现象”出现在延时服务中,愈演愈烈,说明了什么问题?这得从延时服务说起。 2021年秋季开学,全国各地在教育部的...

  • RabbitMQ进阶

    延时消息 延时消息的两种实现办法 过期消息+死信队列(问题 支持顺序 但是消息的粒度不够) 使用延时消息插件 消息...

  • 探究osg中的程序设计模式【目录】

    前序 探究osg中的程序设计模式---开篇 探究osg中的程序设计模式---创造性模式 探究osg中的程序设计模式...

  • 二、面向对象的基本概念

    结构化程序设计 在结构化程序设计中,采用自顶向下、逐步求精和模块化的思想,将复杂的大问题层层分解为许多简单的小问题...

  • C/C++中的正则表达式库 - PCRE,PCRE++

    最近使用boost::regex正则,遇到了延时问题,更换为pcre,延时问题得到解决。这里记录一下pcre的内容...

  • 【celery】任务重复执行

    问题 celery定时任务里面启用延时任务,出现延时任务重复执行的问题。如:定时任务: project_statu...

  • 38. 通道流程 2-3 步 | 2021-07-05

    以上流程,存在问题 以下跌为例 两次 下破 延时线后,持有空单,把 延时线移到A. 再次进入第2步中。 转多的机会...

  • 复习笔记之API(18) 移动端常用的插件和框架

    click延时问题 移动端click事件会有300毫秒延时问题,原因是移动端屏幕双击会缩放(double tap ...

  • popViewController延时释放的问题

    现象:app根控制器是tabbar,tabbar子控制器是navigationController,navigat...

网友评论

      本文标题:程序设计中的延时问题

      本文链接:https://www.haomeiwen.com/subject/egndirtx.html