c# - 自动重复一个任务,直到另一个完成

时间:2016-10-31 11:53:28

标签: 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()有100个文件,Upload()有50个文件。上传50个文件后,任务将等待Download()功能完成。同时,如果队列中有Upload()个更多文件,则不会因此而需要,反之亦然。有没有办法做到这一点?

我知道如何实现这一目标?

0 个答案:

没有答案