【发布时间】:2013-01-31 10:53:59
【问题描述】:
我需要编写一个 Windows 服务,它每 X 分钟执行一次相同的操作。 关于内存管理(例如允许 GC 清理),实现这一目标的最佳方法是什么
1) while(true) 循环,使用我自己的逻辑来确保该操作仅每 X 分钟发生一次。但是我担心这会阻止 GC 清理。
2) 定时器,带有一些逻辑来确保操作所用时间是否超过定时器间隔,它确实会同时开始执行两次(比 1 更复杂)
3) 其他建议?
【问题讨论】:
-
是什么让您认为 while 循环会“阻塞”GC? (不一定说这是您的最佳选择...)如果您在循环中定义对象,除非您需要它们长期存在,否则通常应该不是问题。
标签: .net windows .net-4.0 windows-services garbage-collection