你可以用WaitHandle确保所有线程都执行完毕。示例代码:
AutoResetEvent[] watchers = new AutoResetEvent[10];
for (int i = 0; i < 10; i++)
{
var j = i;
watchers[j] = new AutoResetEvent(false);
//启动10个线程输出10个数字
new Thread(() =>
{
Console.WriteLine(j);
watchers[j].Set(); //线程执行完的时候通知
}).Start();
}
WaitHandle.WaitAll(watchers); //确保所有线程都执行完毕
什么必须的带上
var j = i;
没有这句的话,i=10,会超出数据边界。
这是为什么呢
到底是线程还是进程啊,不清楚先自己查查资料啊
Response 好像只能在一个线程中使用,可能你要将要输出的东西放在一个地方,再使用主线程的Response
额,要用到线程池