gpt4 book ai didi

c# - LinkedList 节点的任务

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:29 25 4
gpt4 key购买 nike

我有多个任务,每个任务都从给定的 LinkedListNode 开始。像这样:

first = linkedList.First;
int counter = 0;
while (iterator != null) {
counter++;
if (counter == threshold) {
Task.Factory.StartNew(() => run(first, iterator));
counter = 0;
first = iterator.Next;
}
iterator = iterator.Next;
}

我的想法是,我想遍历 LinkedList 而不是因为内存需求而将其转换为数组。所以,我想我只需传入开始和结束并对其进行迭代。

当我的任务真正开始时,参数似乎在它们在循环中停止的地方。有没有什么方法可以对变量形成闭包,以便任务从 LinkedList 中的正确节点开始?

或者,也许是使用 LinkedList 实现此目标的更好方法?

最佳答案

考虑使用 Parallel.ForEach在你的链表上。这看起来会为你省去很多麻烦。

关于c# - LinkedList 节点的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com