在C# .NET中,我在一个程序中启动了最多5个线程,但有时这些线程中的一些甚至在分配给它的函数执行完成之前就会莫名其妙地退出或死掉。
它是随机发生的。如果我尝试通过设置断点来调试代码-它工作得很好。
有时,执行指定函数的所有线程perfectly.They之间不共享任何资源。
代码语言:javascript运行复制 Thread[] td = new Thread[5];
for (count = 4; count >= 0; --count)
{
ds[count] = dba.getData(ru[count]);
td[count] = new Thread(delegate() { runRule[count].performTask(ru[count], ds[count], count); });
td[count].Name = "Thread " + count.ToString();
td[count].Start();
Thread.Sleep(50);
}如果我删除最后一行"Thread.Sleep(50)“,只有第一个线程会运行,其余线程就会死掉。
有人能解释一下为什么线程会死掉吗?