怎么在Form1中派一个进程守护,一旦发现超过3个小时某个任务还没有完成,就自动停止当前任务,并重新开始

解决方案 »

  1.   

    用进程守护比较麻烦,用线程就可以了。停止线程最好是通知它退出,下面例子为了简洁用了最粗鲁的方法,
    while (true)
    {
        System.Threading.Thread jobThread;
        jobThread.Start();
        if (jobThread.Join(new TimeSpan(3, 0, 0)))         //wait for atmost three hours
        {
            break;
        }
        else
        {
            jobThread.Abort();                             //bad code
        }
    }