1

我想在 C# 中实现一个多线程文件上传器

  1. 首先,我根据文件的大小(平均 1 GB)计算文件的段数。
  2. 我为要上传的段填写了段 ID 列表。
  3. 然后我遍历段 ID 列表以上传段。
  4. 如果分段失败,我会在其列表中再次重新插入分段 ID。
  5. 我保存了该段 ID 列表以支持上传连续性(这里有一个解决方法来保存正在进行的段的 ID)。

我的问题是:

  1. 在我的情况下,我用来保存我的段 ID 的列表是一个非常糟糕的数据结构。
  2. 我想并行上传片段

现在的问题:

  • 在我的情况下,用于支持并行处理并跟踪失败的任务以重新安排它以再次处理的最佳数据结构是什么?

谢谢

4

1 回答 1

3

ConcurrentQueue最有可能是您正在寻找的类型。

将所有段入队,TryDequeue现在正在处理的段,入队再次失败。

于 2013-04-28T18:19:25.470 回答