我有一个 MT 应用程序,可以从 Internet 下载内容(例如 - 大量图像 - 10K 到 5MB)。一个下载会话可以代表千兆字节的数据。我已将下载包装在 Parallel.ForEach 循环中,并且可以正常工作,但似乎在设备上使用的下载线程不止一个(我希望至少有两个线程来减少下载时间)。
注意:Parallel.ForEach确实在模拟器中创建了多个线程。我应该将所有下载作为任务放入线程池吗?我应该启动自己的队列和线程并绕过线程池吗?我知道线程池可以缩放以匹配设备,因此这可能不是最佳选择。