Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asynchronous c#-自动重复一项任务,直到完成另一项任务_Asynchronous_C# 4.0_Parallel Processing_Task - Fatal编程技术网

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这样任务将继续,同时完成两个循环?