如何实现简单的延时任务执行系统-新手教程

如何实现简单的延时任务执行系统-新手教程

这是一个最简单的延时任务执行逻辑,有个问题来了,这样做的话,在等待期间,调用者线程会阻塞掉,因此并没什么实用价值,我们来稍微改进一下,这里会用到上一章讲到的异步函数知识

如何实现简单的延时任务执行系统-新手教程

在这里我们稍微改进了一下,在这里面我们实用线程池来延时执行我们的任务,但是这种函数并不能阻止调用者多次提交,如果想要实现同一时间只有一个延迟任务在执行的话,可以修改为

如何实现简单的延时任务执行系统-新手教程

在某些特殊需求下,需要有一种机制来保证同一时间只有一个任务处于倒计时阶段,除非倒计时任务执行完毕,否则所有的延时提交都将会失败,延时任务执行在日常项目开发中也是使用频率较高的一个功能,例如任务计划等功能,用户想要指定一个任务在将来的多少时间后执行

至于这个示范中存在的问题,大家可以通过自己的经验自行思考,可参考作者上一章讲解的异步函数来综合评判