我正在使用.Net中的C#创建一个简单的调度程序。它所做的就是每分钟对SQL Server DB中的表执行一次简单的select语句(这不需要扩展或任何东西...... db没有高负载)。这是我提出的实施方案:
static void Main(string[] args)
{
while (true)
{
System.Threading.Thread.Sleep(timeout); // timeout is, say, 60000
CheckTable();
}
}
这可以吗?什么是更好的方式?
P.S。有人建议使用Windows窗体计时器类......但这看起来有点矫枉过正。
干杯!
答案 0 :(得分:4)
虽然技术上合法,但您最好使用计时器。它们不需要设置更多代码,您可以让运行时负责生成新线程。如果你需要在另一个程序中再次使用它,它也会产生一个性能瓶颈,计时器不会。
虽然您需要使用计时器触发事件,但计时器会添加更多代码。
答案 1 :(得分:1)
关闭。
答案 2 :(得分:1)
Quartz.net是时间需求的良好解决方案。它很容易设置(网站上的好教程),并且比Timers提供了更多的灵活性。 CronTrigger非常强大,易于配置。