您好我是Windows服务的新手我使用在OnStart()中创建新线程的线程开发了一个Windows服务,并使用该线程运行方法并使用睡眠线程到下一次运行时但我的一个朋友说它更好使用计时器比线程所以我想知道哪个是最好的方法来做程序?谢谢你的帮助
答案 0 :(得分:3)
根据您的评论,您的目标是按特定时间间隔运行一些代码:
从概念上讲,使用计时器比使线程睡眠更好。这就是计时器的制作方法。如果您选择线程睡眠方法,我认为在实践中它仍然可以正常工作,尽管更好的做法是使用计时器。
还有第三种方法 - 使用作业调度程序。您可以使用windows task scheduler或更强大的quartz.net(nuget package here)。
这真的是一个关于你如何重视语义正确性以实用主义的问题。
有关计时器与作业调度程序的更多意见:Best Timer for using in a Windows service
答案 1 :(得分:0)
这取决于你的想法。 Timer和Thread之间的区别在于Timer使用线程池中的线程,而Thread为任务使用了一个新线程。