[教程]QWorker 中如何动态修改重复延迟作业的延迟间隔

一般的延迟重复作业的直接调用 Delay 时,指定间隔时间和重复参数,就可以自动启动了重复的延迟作业。但默认情况上,这个延迟作业的间隔时长是固定的,要动态修改这个时长,我们可以如下操作:

1、修改作业对象实例的 Source.FirstDelay 参数的值。如下所示:

注意 FirstDelay 的时间精度是 0.1ms,建议使用 Q1Second*5 这样的方式来指定时长。

2、使用 Delay+Delay 的方法来修改时长,这种方式实际上通过投递新的延迟作业来实现不定长延迟的目标。如下所示:

因为是匿名作业,没有函数名,但你可以通过 AJob.WorkerProc.ProcA 获取到它的作业匿名函数的实例地址,做为参数传递进去,从而实现重复投递作业的目的。

分享到:

评论已关闭。