c# 怎么检测线程状态,线程无论以什么状态停止,都必须开启?
如我开启了5个线程(不用定时器),这5个线程必须要24小时不停的运行,以下是我的代码:if(th==null){th=newThread(newThreadStart(R...
如我开启了5个线程(不用定时器),这5个线程必须要24小时不停的运行,以下是我的代码:
if (th == null)
{
th = new Thread(new ThreadStart(Run));
th.Start();
}
else if (th.ThreadState == System.Threading.ThreadState.Unstarted)
{
th.Start();
}
else if (th.ThreadState == System.Threading.ThreadState.Stopped)
{
th = new Thread(new ThreadStart(Run));
th.Start();
}
else if (th.ThreadState == System.Threading.ThreadState.Aborted)
{
th = new Thread(new ThreadStart(Run));
th.Start();
}
这个代码运行可能能行一直运行,但是运行几个小时后,我监控任务管理器,线程在一个一个的增加,也就是这一段代码可能方法一直在进if,有什么办法避免这种情况,无论线程里面是否异常,都要执行(就是定时器的功能一样) 展开
if (th == null)
{
th = new Thread(new ThreadStart(Run));
th.Start();
}
else if (th.ThreadState == System.Threading.ThreadState.Unstarted)
{
th.Start();
}
else if (th.ThreadState == System.Threading.ThreadState.Stopped)
{
th = new Thread(new ThreadStart(Run));
th.Start();
}
else if (th.ThreadState == System.Threading.ThreadState.Aborted)
{
th = new Thread(new ThreadStart(Run));
th.Start();
}
这个代码运行可能能行一直运行,但是运行几个小时后,我监控任务管理器,线程在一个一个的增加,也就是这一段代码可能方法一直在进if,有什么办法避免这种情况,无论线程里面是否异常,都要执行(就是定时器的功能一样) 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询