【发布时间】:2012-03-01 06:42:04
【问题描述】:
我想实现单生产者多消费者模式的多文件下载。
我有什么: - 在循环中找到要下载的新链接的代码 - 找到新链接时 - 它调用下载功能 - 下载函数接受源文件路径和目标文件路径并下载文件。
我想做什么 - 我想同时下载 X 个文件(我不知道文件总数) - 在任何时候我都应该能够同时下载 X 文件 - 只要其中 1 个 X 文件完成下载 - 调用函数应该能够立即添加新的下载 - 这反过来又会立即下载
- 所以我有一个生产者函数,它不断将新的下载添加到队列中(在任何时候最大 X 下载)
- 多个 X 线程消耗下载并开始单独下载。一旦完成下载 - 生产者应该能够添加新的下载 - 这将产生新的线程。
EXAMPLE 将不胜感激
【问题讨论】:
标签: c# multithreading queue producer-consumer