none
System.threading.timer RRS feed

  • 问题

  • 如果System.threading.timer一次"时间中断"没有执行完任务,怎么阻止它再开启另一个线程?如果没执行完,我只想让它结束而已。

    2010年3月19日 10:33

答案

  • 你好!

         计时器都是用线程池来实现的!所以分配线程也是线程池负责的,我们无法进行过多的控制!


    周雪峰
    2010年3月21日 4:04
    版主

全部回复

  • 你好!

         建议使用System.Timers.Timer这个类,可以使用Stop()方法来实现!


    周雪峰
    2010年3月19日 15:14
    版主
  • 谢谢,是我没有说清除。

    无论 System.threading.timer 还是 System.Timers.Timer,我知道怎么停止他们。

    但是我的问题是: 这两个Timer在"中断"期间如果任务没有完成,下一次“中断”到来时,它们会自动再开启一个一个线程完成上一个"中断"没有完成的任务。我不想要这个功能,怎么做到呢?

     

    2010年3月21日 1:40
  • 你好!

         计时器都是用线程池来实现的!所以分配线程也是线程池负责的,我们无法进行过多的控制!


    周雪峰
    2010年3月21日 4:04
    版主
  • 谢谢你的答复,不过我可能还是没有说清楚问题,算了,我采用其他方案吧。

    多谢。

    2010年3月22日 1:04