110,571
社区成员
发帖
与我相关
我的任务
分享
现在有个需求是读取10几个文件作为数据源,放到静态变量里凑合着当个内存数据库用用,然后用LINQ做联表查询
对于这个写法有点不太确定,希望大佬们指定一点
我希望它是10几个文件用多线程分别去读取,然后等他们全部读完了才开始加载界面,我就这样写了
Task.WaitAll(new Task[] {
Task.Factory.StartNew(()=>{
list1 = GetFileDataList<T1>("t1.csv");
}),
Task.Factory.StartNew(()=>{
list2= GetFileDataList<T2>("t2.csv");
}),
Task.Factory.StartNew(()=>{
list3= GetFileDataList<T3>("t3.csv");
})
....
});
运行了一下看似是达到效果了(本来依次执行要10来秒才能读完,现在就3秒多了估计是最大的那个文件的读取时间)
大佬们可否指点一下这样写有没有啥问题,或者语法上还能写的再优雅一点不?(用async await不知道怎么写才能等待它们一起完成,多线程还是学的有点弱……)