Use*_*384 -2 c# multithreading timer
刚才有一些关于计时器和线程的混淆,见下面的例子,两个代码都提供了相同的结果(每隔60秒进行一次检查),所以什么时候应该使用计时器?何时我应该使用线程处理作业提供相同的结果?
使用线程:
Thread checkJob = new Thread(checkStatus);
checkJob.Start();
protected void checkStatus()
{
   //Do Checking here
   Thread.Sleep(60000);
}
使用计时器:
public Form1()
        {
            InitializeComponent();
            Timer time = new Timer();
            time.Interval = 60000;
            time.Tick += time_Tick;
            time.Enabled = true;
        }
      void time_Tick(object sender, EventArgs e)
            {
                //Do Checking here
            }
如果定期执行的任务非常短,并且不会妨碍计时器运行的线程的处理,那么计时器是一个合理的选择.
另一方面,如果周期性任务需要花费大量时间,并且您不能让主线程中断执行它,那么单独的专用线程是一个不错的选择.