在同步方法里面使用Task及TaskFactory

List<MealOrderCheckExceptionViewModel> mealOrderCheckExceptionViewModels = new List<MealOrderCheckExceptionViewModel>();

List<Task<MealOrderCheckExceptionViewModel>> tasks = new List<Task<MealOrderCheckExceptionViewModel>>();
TaskFactory taskFactory = new();
if (!personModels.Any()) return pageResult;
foreach (var person in personModels)
{
     tasks.Add(taskFactory.StartNew(() => GetUserMealExceptionRecord(person, start, end)));
}

taskFactory.ContinueWhenAll(tasks.ToArray(), resTasks =>
{
     foreach (Task<MealOrderCheckExceptionViewModel> resTask in resTasks)
     {
          mealOrderCheckExceptionViewModels.Add(resTask.Result);
     }
}).Wait();

posted @   静下心来邹  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示