C# 在WaitAll中运行多个方法
我有几种方法,它们是数据库访问工具C# 在WaitAll中运行多个方法,c#,multithreading,C#,Multithreading,我有几种方法,它们是数据库访问工具 await Task.WaitAll() { one(); two(); three(); } 没有一个方法是异步的,那么如何将它们包装到任务中,以便等待它们并让它们在各自的任务中运行呢?将每个方法放入一个任务中。运行: List<Task> allTasks = new List<Task>() { Task.Run(new Action(one)), Task.Run(new Action(two)),
await Task.WaitAll() {
one();
two();
three();
}
没有一个方法是异步的,那么如何将它们包装到任务中,以便等待它们并让它们在各自的任务中运行呢?将每个方法放入一个
任务中。运行:
List<Task> allTasks = new List<Task>()
{
Task.Run(new Action(one)),
Task.Run(new Action(two)),
Task.Run(new Action(three)),
};
await Task.WhenAll(allTasks);
List allTasks=new List()
{
Task.Run(新操作(一)),
Task.Run(新操作(两个)),
Task.Run(新操作(三)),
};
等待任务。WhenAll(所有任务);
请注意,此方法的等待版本实际上是whalll
而不是WaitAll
(同步阻塞)
当然,如果方法已经返回Task
对象,那么这就简单多了。将每个方法放在任务中。运行:
List<Task> allTasks = new List<Task>()
{
Task.Run(new Action(one)),
Task.Run(new Action(two)),
Task.Run(new Action(three)),
};
await Task.WhenAll(allTasks);
List allTasks=new List()
{
Task.Run(新操作(一)),
Task.Run(新操作(两个)),
Task.Run(新操作(三)),
};
等待任务。WhenAll(所有任务);
请注意,此方法的等待版本实际上是whalll
而不是WaitAll
(同步阻塞)
当然,如果这些方法已经返回Task
对象,那么这就简单多了