我有两项操作 - 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()
个更多文件,则不会因此而需要,反之亦然。有没有办法做到这一点?
我知道如何实现这一目标?