gpt4 book ai didi

c# - 一起运行两个 parallel.foreach()

转载 作者:太空狗 更新时间:2023-10-30 01:22:30 24 4
gpt4 key购买 nike

我有一个后台 worker ,它为列表项调用并行线程

 doWork()
{
Parallel.foreach(list1, a=>
{
while(true)
{
//do some operations
}
});

Parallel.foreach(list2, b=>
{
while(true)
{
//do some operations
}
});
}

如果我想同时运行这两个列表,我应该创建另一个线程作为它们的父线程还是其他方式?我分别获得了这两个列表,因此不能将它们组合起来。而且我在这两个列表中运行无限循环。

最佳答案

您可以使用任务在不同的线程上运行两个循环。使用普通的 foreach 循环。

var t1 = Task.Factory.StartNew(() => 
{
foreach(var a in list1)
{
//do some operations
}
});

var t2 = Task.Factory.StartNew(() =>
{
foreach(var a in list1)
{
//do some operations
}
});

// This will block the thread until both tasks have completed
Task.WaitAll(t1, t2);

关于c# - 一起运行两个 parallel.foreach(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357248/

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