【发布时间】:2018-03-05 02:22:56
【问题描述】:
我用一个简单的例子来描述我的问题,然后描述一个更接近的问题。
想象我们在 box1 中有 n 个项目 [i1,i2,i3,i4,...,in] 并且我们有一个 box2 可以处理 m 个项目来执行它们(m 通常远小于 n)。每个项目所需的时间是不同的。我想一直做 m 个工作项目,直到所有项目都进行完。
一个更接近的问题是,例如,您有一个包含 n 个文件字符串(URL 地址)的 list1,我们希望有一个系统可以同时下载 m 个文件(例如通过 httpclient.getAsync() 方法)。每当 m 项中的一项下载完成时,必须尽快替换 list1 中的另一个剩余项,并且必须计算到所有 List1 项都继续进行。 (n 和 m 的数量由用户在运行时输入)
如何做到这一点?
【问题讨论】:
标签: c# parallel-processing async-await task-parallel-library