发现问题,不知对与否,也不知道为什么
c#在使用多线程的时候,在生成线程数非常多的时候,不能在主线程中直接生成,而需要首先建立一个线程,之后在新建立的线程里面 启动更多的线程
例子:
主线程.....
for (int i = 0; i < list.Count; i++)
{
Thread th = new Thread(new ParameterizedThreadStart(fnThread));
th.Start();
}
主线程.....
以上会导致多线程不能正常启动
需要改为
主线程.....
Thread th = new Thread(new ParameterizedThreadStart(fnThreadStart));
th.Start();
void fnThreadStart()
{
for (int i = 0; i < list.Count; i++)
{
Thread th = new Thread(new ParameterizedThreadStart(fnThread));
th.Start();
}
}