gpt4 book ai didi

c# - 在 BackGroundWorker 中使用定时器

转载 作者:太空宇宙 更新时间:2023-11-03 14:15:21 24 4
gpt4 key购买 nike

我的应用程序处理实时数据。当一个 Form 打开时,一个 BackgroundWorker 被创建,它获取数据并进行处理。

现在,只要 Form 处于事件状态或打开状态,我希望整个循环在 5 秒循环 中运行。也就是说,如果用户打开 form1 并且在 5 秒后仍在上面,那么 BackgroundWorker 将再次执行所有的提取和处理。现在,如果用户关闭 form1 并打开 form2,则会创建一个新的 BackgroundWorker 并执行与 form2 相关的处理>.

我完成了 BackgroundWorker 部分,但无法决定如何循环 BackgroundWorker。我应该在 BackgroundWorker 中创建一个每 5 秒触发一次的计时器吗?或者我是否放弃 BackgroundWorker 并只使用 Timer?

编辑:我在 Timer 中使用了 BGW。因此,每隔 5 秒,定时器就会调用 BGW,如果 BGW 忙,它就会等待它完成。

最佳答案

是的,你当然可以使用如下所示的计时器对象来完成

System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Interval = 5000;
timer.Start();

private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
//do the logic..
}

关于c# - 在 BackGroundWorker 中使用定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6704195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com