【发布时间】:2012-06-02 23:26:56
【问题描述】:
在我完成 DoWork 事件内的处理工作后是否有必要释放后台工作人员,或者作为托管对象最终会自动被释放?
以前,我在timer_elapsed 中执行一些功能,即每三十秒执行一项任务。
现在,我在 BackGround Worker 的 DoWork 事件中进行相同的处理。如何在每 30 秒后循环执行此 bgWorker 事件(例如)bgworker.RunWorkerAsync();
如果我把这个 bgWorker.RunWorkerAsync() indie timer_elapsed 放在每个定时器过去后如何处理它?
【问题讨论】:
-
如果您还需要它,为什么要丢弃它?
-
为什么要使用后台工作者?计时器似乎更适合基于间隔触发操作
-
@Aybe:我担心计时器应该运行无限次,即每隔 30 秒左右运行一次,直到我使用它的
windows service关闭。那么,我该在哪里处理呢? -
@BrokenGlass:这是我之前的帖子,我决定使用
Background worker代替主线程。 stackoverflow.com/questions/10793278/…
标签: c# asynchronous backgroundworker