【发布时间】:2017-01-27 01:06:56
【问题描述】:
我在 .Net Framework 4.0 中编写了一个 Windows 服务,我需要在其中安排一个重复性任务。新任务只有在前一个任务完成后才能运行,所以没有并行任务...... 我所有的任务都在同一个对象(WCF 通道工厂)上工作。 一项任务几乎需要 2 秒才能完成,并且可能每 2 秒或每小时安排一次。 我的限制是让这个 Windows 服务在内存和处理器使用的角度上尽可能不可见/不可见......
我已经找到了这两种方法:
- 使用
System.Timers.Timer和Autoreset为假=> 我必须 实现ElapsedEventHandler并传递我的共享对象(WCF 渠道工厂) - 使用永无止境的循环:不确定 mem/proc 在 该状态,但没有线程方面需要处理。
有什么建议吗?
谢谢,祝你有美好的一天!
【问题讨论】:
-
这是我使用 TPL 实现重复任务的一种方式。它可能会给你另一个想法/路线。 stackoverflow.com/q/39457595/2985796
标签: c# .net multithreading wcf