<分区>
嗨,我是 Windows 服务的新手,我开发了一个 Windows 服务,使用线程在 OnStart() 中创建新线程,并使用该线程运行方法,并在下一次运行时使用 sleep 线程,但我的一位 friend 说这样更好使用定时器而不是线程,所以我想知道哪种方法是执行该程序的最佳方法?感谢您的帮助
<分区>
嗨,我是 Windows 服务的新手,我开发了一个 Windows 服务,使用线程在 OnStart() 中创建新线程,并使用该线程运行方法,并在下一次运行时使用 sleep 线程,但我的一位 friend 说这样更好使用定时器而不是线程,所以我想知道哪种方法是执行该程序的最佳方法?感谢您的帮助
最佳答案
根据您的评论,您的目标是在特定时间间隔运行一些代码:
从概念上讲,使用计时器比让线程休眠要好。这就是定时器的用途。如果您改为选择线程休眠方法,我认为在实践中无论如何它都可以正常工作,尽管更好的做法是使用计时器。
还有第三种方法——使用作业调度程序。您可以使用 windows task scheduler或更强大的quartz.net (nuget package here)。
这真的是一个关于你如何重视实用主义的语义正确性的问题。
关于计时器与作业调度程序的更多意见:Best Timer for using in a Windows service
关于c# - windows service,Thread 和 Timer 哪个更好用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18015310/