代码之家  ›  专栏  ›  技术社区  ›  geoff swartz

平行问题

  •  0
  • geoff swartz  · 技术社区  · 14 年前

    我有一个foreach循环,它处理来自xmlnodelist的几千个xmlnodes。我正在尝试集成parallel.for options from.net 4,但是我得到一个错误“no overload for method”for“takes 3 arguments”。但到目前为止我看到的每一个例子都是这样写的。有人知道我需要改变什么来编译这个吗?谢谢。

    并行。对于(0,jobs.count,i=> { //…在这里工作.. (});

    2 回复  |  直到 14 年前
        1
  •  1
  •   Rich    14 年前

    现在我唯一的另一个问题是如何从当前迭代中分离出来?似乎不喜欢我的继续陈述。

    你到底期望什么 continue 语句在每个迭代可以并发运行时工作?你应该读 How to: Stop or Break from a Parallel.For Loop 在msdn上获取有关此的更多信息,并查看 Stop Break 方法。

        2
  •  1
  •   Hand-E-Food    13 年前

    现在我唯一的问题是我该如何摆脱 当前迭代?似乎不喜欢我的继续陈述。

    而不是 continue 使用 break . 而不是:

    for (int i = 1; i < jobs.Count; i++) {
        // Initialise iteration.
        if (iterationInvalid) continue;
        // Do work.
    }
    

    你实际上得到的是:

    for (int i = 1; i < jobs.Count; i++)
        action(i);
    
    void action (int i) {
        // Initialise iteration.
        if (iterationInvalid) break;
        // Do work.
    }