我有一个要求,我需要有一些任务永久运行,而其他一些应该只是按计划运行,但我不知道处理这种情况的最佳方法应该是什么.
对于预定的作业,我以为我会使用一个线程池和永久运行的作业,我以为我只有一个线程数组,这些线程将在我的Windows服务启动时创建并启动.
这是正确的和/或最好的方法还是有更好的方法来处理这个问题?
请注意,无论是否已安排和/或永久运行,我都需要能够取消正在运行的作业.
谢谢
PS:请注意这个问题已被完全重新措辞,因为它原来太宽泛了.我希望这是一个更好的尝试.
更新:
请注意这个问题不是关于调度程序问题,而是更多关于根据我的2个要求(即计划与连续)处理我的线程的最佳方法.
对不起任何困惑.
最佳答案 编写自己的调度程序可能是
not as trivial.考虑到这一点,只有两个可靠的选项:使用
Quartz.NET(这是我个人推荐的)或使用Windows Scheduler.
Quartz.NET有一些学习曲线(虽然不是很陡峭),而Windows Scheduler(如果与使用TSMW接口)根据我的口味,有一个非常麻烦的API.