递归执行的时候使用一次性还是永久性定时器?

简介: 递归执行的时候使用一次性还是永久性定时器?

在递归执行时,如果需要延时调用函数,可以使用定时器来实现。一般情况下,应该使用永久性定时器(setInterval),而不是一次性定时器(setTimeout)。


使用一次性定时器时,每次递归调用函数都需要重新设置定时器,会增加额外的操作和计算开销,而且如果定时器的时间间隔设置过小,可能会导致堆栈溢出等问题。


相比之下,使用永久性定时器则只需要在第一次调用函数时设置定时器,并且避免了重复创建和销毁定时器的操作。此外,永久性定时器的时间间隔可以设置得更大一些,这样可以避免过于频繁地调用函数,减少计算开销和内存占用。


当然,在使用永久性定时器时也需要注意一些问题,比如需要在合适的时候清除定时器、避免出现死循环等。总的来说,在递归执行时,使用永久性定时器会更加稳定和可靠。

相关文章
|
2月前
|
JSON 前端开发 算法
2715. 执行可取消的延迟函数
2715. 执行可取消的延迟函数
13 0
|
7月前
|
Go 数据库
sync.Once-保证运行期间的某段代码只会执行一次
sync.Once-保证运行期间的某段代码只会执行一次
42 0
|
10月前
|
算法
【递归可以干什么】1#重复执行某种模式
【递归可以干什么】1#重复执行某种模式
58 0
|
11月前
AS执行时间计算
long start=System.currentTimeMillis();
34 0
|
物联网 Linux 开发者
线程被取消的时候执行清理函数|学习笔记
快速学习线程被取消的时候执行清理函数
81 0
线程被取消的时候执行清理函数|学习笔记
|
程序员 Shell
如何重复执行一条命令直至运行成功?
大家好,我是良许。 在我们的日常工作中,需要我们重复做的工作简直不能太多。比如,我们想要确认网络是否是连通的,传统的做法就是使用 ping 命令不停去测试某个地址(比如百度)。网络比较好还好说,但如果网络很差,那么就需要一直去运行 ping 命令。 作为程序员,重复性的工作怎么能忍呢?只要是重复性的工作,就有可能使用编程的方式来解决! 下面良许就介绍两种方法重复执行一条命令直至运行成功。 (PS:本文适合初学者,高手可绕道) 解决重复性的工作,自然而然会想到循环 。在 Shell 里,循环无非 3 种:for、while、until 。在本文里,我们使用后两种循环:while 、un
160 0
按顺序逐个同步地运行 Gulp 任务
按顺序逐个同步地运行 Gulp 任务 我们在使用gulp的时候,有时候需要按顺序同步的执行gulp任务 gulp-sequence 使用这个插件就可以了 下面是使用方法: var gulpSequence = require('gulp-sequence'); gulp.
1209 0