Asynchronous c#-自动重复一项任务,直到完成另一项任务
我有两个操作-Asynchronous c#-自动重复一项任务,直到完成另一项任务,asynchronous,c#-4.0,parallel-processing,task,Asynchronous,C# 4.0,Parallel Processing,Task,我有两个操作-Download()和Upload()。我使用TAP并行运行它们,并在它们都完成时返回结果: var task_download = Task.Factory.StartNew(()=>Download()); var task_Upload = Task.Factory.StartNew(()=>Upload()); var tasks = new Task[] { task_download, task_Upload }; Task.WaitAll(tasks);
Download()
和Upload()
。我使用TAP
并行运行它们,并在它们都完成时返回结果:
var task_download = Task.Factory.StartNew(()=>Download());
var task_Upload = Task.Factory.StartNew(()=>Upload());
var tasks = new Task[] { task_download, task_Upload };
Task.WaitAll(tasks);
在这里,如果一项任务完成,而另一项任务没有完成,那么它将等待这两项任务完成并继续
但我的问题是,假设有100个文件要下载,50个文件要上传。上传50个文件后,任务将等待Download()
功能完成。同时,如果队列中有更多的文件用于Upload()
,则不会因此而需要下载,反之亦然。有没有办法做到这一点
知道我该如何实现这一点吗?如果您有一个文件队列,为什么在您的任务中或任务周围没有循环?@nvoigt因此任务将继续,循环同时完成?如果您有一个文件队列,为什么在您的任务中或围绕您的任务没有循环?@nvoigt这样任务将继续,同时完成两个循环?