如何在操作集合上使用任务
本文关键字:任务 集合 操作 | 更新日期: 2023-09-27 17:49:38
我有一些动作集合。集合中的每个操作在运行之前都必须等待前面的操作例如……
List<Action> actionCollection = new List<Action>()
{
func1,
func2,
func3
};
现在,我想让所有的动作在任务中运行-但Action1(函数1)必须在Action2(函数2)之前运行在Action1完成之前,Action2不能启动。
怎么做?
谢谢
public Task ExecuteConsecutivelyAsync(IEnumerable<Action> actions) {
return Task.Factory.StartNew(delegate {
foreach (var action in actions) {
action();
}
});
}
你可能想要/需要调用StartNew
过载,它接受TaskScheduler并传入TaskScheduler.FromCurrentSynchronizationContext()
,以保持任务在UI线程上运行。如上所述,它将倾向于在线程池上运行。