C#利用System.Threading.Timer实现多线程中遇到的问题,请求帮助

时间:2020-12-07 20:40:52
public static Thread threadrecipe = null;

public static void Run()
        {
            Timer tm = new Timer(new TimerCallback(Work), null, 5000, 10000);//以秒为单位监视时间
        }

public static void Work(object obj)
        {

            threadrecipe = new Thread(new ParameterizedThreadStart(GoOnWork));
            threadrecipe.Start();
        }

为什么threadrecipe线程调用了几次就不执行了呢?
我自己感觉不能threadrecipe = new Thread(new ParameterizedThreadStart(GoOnWork));这样使用
可是自己不知道该怎么正确使用threadrecipe 线程,不知道该如何去注销threadrecipe 线程,然后在重新
启用threadrecipe 线程
希望高人指点一下,谢谢

4 个解决方案

#1


你没启动~~~TIMER本事就是多线程的~~没必要在建线程

#2


我试了一下
public static void Run()
        {
            Timer tm = new Timer(new TimerCallback(Work), null, 5000, 10000);//以秒为单位监视时间
        }

public static void Work(object obj)
        {
GoOnWork();
        }
这样写也是一样啊      执行了7次就不执行了

#3


 Run()
是由另外一个线程去调用的

#4


threadTempRecipeFee = new Thread(new ThreadStart(CalculateTempRecipe.Run));
            threadTempRecipeFee.Start();

#1


你没启动~~~TIMER本事就是多线程的~~没必要在建线程

#2


我试了一下
public static void Run()
        {
            Timer tm = new Timer(new TimerCallback(Work), null, 5000, 10000);//以秒为单位监视时间
        }

public static void Work(object obj)
        {
GoOnWork();
        }
这样写也是一样啊      执行了7次就不执行了

#3


 Run()
是由另外一个线程去调用的

#4


threadTempRecipeFee = new Thread(new ThreadStart(CalculateTempRecipe.Run));
            threadTempRecipeFee.Start();