gpt4 book ai didi

multithreading - 如何只触发一次 System.Timers.Timer

转载 作者:行者123 更新时间:2023-12-03 13:17:52 27 4
gpt4 key购买 nike

我正在创建一个 WindowsService,它的 Timer 绑定(bind)到具有无限循环的 EventHandler;我希望能够在服务的 OnStart() 方法中触发此计时器一次,然后在服务的 OnStop() 中停止计时器。如何强制定时器只触发一次?

此外,这是在 WindowsService 中控制无限循环的最佳设计吗?在另一个线程(可能是后台线程)中处理它会更好吗?

最佳答案

Would handling it inside another thread (perhaps background thread) be better?



是的。这听起来你最好使用单个后台线程而不是计时器。线程可以进入你的循环状态,直到你发出退出的信号(在 OnStop 方法中)。

Cancellation support in .NET 4提供了一种相当干净的方式来“取消”你的无限循环......

关于multithreading - 如何只触发一次 System.Timers.Timer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249313/

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