问题描述
- C#winform多线程问题,求救
- C#winform多线程,有6000条数据,分别根据ID查询,把信息导出excel,开100个线程同时查询,线程没走完就导出了,就没有那么多条数据,怎么办?求救
CountdownEvent handler = new CountdownEvent(100);
for (int i = 0; i < 100; i++)
{
Thread Thd = new Thread(() =>
{
DateTime staTime = DateTime.Now;
for (int j = i * (match_3.Count / 100); j < (i + 1) * (match_3.Count / 100); j++)
{
FlightInfo flight = GetAriInfo(match_3[j].Groups[2].Value);
flist.Add(flight);
}
});
Thd.Name = i.ToString();
Thd.Start();
Thread.Sleep(1000); //wait 1 seconds to do something
handler.Signal();
}
handler.Wait();
//线程走完了执行的代码
解决方案
其实不用这样做,直接用linq的parallel就行,这个是系统的并行方法,比自己写的要好的多。
解决方案二:
有那么麻烦么,直接引 EPPlus ,然后按照要求导出即可。。。
时间: 2024-10-27 12:41:11