有一些方法,被称为像同步:异步执行等待任何
tasks.ForEach(p=> Proccess(p));
void Proccess(){
//do some long running work
}
我怎么可以做这样的事情,在伪代码:
tasks.ForEach(p=> Async(Proccess(p));
WaitForAny();
在这里,我想打电话给任务异步,并等待任何执行结束(不是全部)。 u能plz帮助我,没有从.NET 4
有一些方法,被称为像同步:异步执行等待任何
tasks.ForEach(p=> Proccess(p));
void Proccess(){
//do some long running work
}
我怎么可以做这样的事情,在伪代码:
tasks.ForEach(p=> Async(Proccess(p));
WaitForAny();
在这里,我想打电话给任务异步,并等待任何执行结束(不是全部)。 u能plz帮助我,没有从.NET 4
并行任务看一看Task.WaitAny
Task[] tasksToWaitFor = new Task[itemsToCall.Length];
foreach (int i = 0; i < itemsToCall.Length; i++)
{
var itemToCall = itemsToCall[i];
tasksToWaitFor[i] = Task.Factory.StartNew(() => itemToCall.Call());
}
await Task.WaitAny(tasksToWaitFor);
它是.net 4.我只能使用3.5或2 –
如果可能,我会尝试迁移到.NET 4或.NET 4.5。否则,你将不得不使用Threads或Backgroundworkers推出你自己的任务版本 – cordialgerm
是在你的伪上面的代码?如果它是实际的代码,你可以发布任务对象的定义吗? – ryadavilli
有点编辑,他们只是功能。 –