在子线程中启用了一个System.Timers.Timer,循环做计算当结束thread.Abort()这个线程时候,这个timer还在运行该怎么操作呢?

解决方案 »

  1.   

    问题是:子线程中的Timer如何关闭?
      

  2.   

    换个什么思路呢在主程序中,点了个按钮,启动这个子线程 另外的按钮,关闭这个子线程,但是发现子先线程关闭了,但是Timer还在运行
      

  3.   

    把线程设置为后台试下,或者调下优先级别,你的Timer是定义在线程外还是线程内?
      

  4.   


    线程是后台的了,关闭程序,timer是自动关闭
    timer是线程内部声明的
      

  5.   

    调用timer的Change方法。
    例如
    timer.Change(0, Timeout.Infinite);
      

  6.   

    在哪里调用这个timer的change方法?主程序的停止按钮是thread.Abort();来结束子线程的
      

  7.   

    尽量不要这样结束线程。
    线程中用
    while(running)
    {
    }外面设置running = false退出循环。这是正常退出的。
    退出循环后,停止自带的定时器。