我有一个并行for循环和一个如下所示的列表:
var itemsList = new List<string> { "1","2","3","4","5","6","7","8","9","10","11" };
Parallel.For(0, 5000, ex=>
{
});
我想在这里做的是:
-
从itemslist中按元素在列表中的确切顺序逐个取出元素,而不管是否随机调用并行迭代
因此,基本上,在第一个随机并行操作中,“1”值下的项目将存储在第一个变量中,如下所示:
var itemFromList = itemList.elementAt(0).Take(1);
在并行foreach/for循环的第二次迭代中:
var itemFromList = itemList.elementAt(1).Take(1);
一旦列表中的所有11项都被使用..我想再次重复这个过程。
如果存储在变量中的最后一个项:
var itemFromList = itemList.elementAt(10).Take(1); // Last item
然后再次使用列表中的第一项:
var itemfromlist=itemlist.elementat(0).take(1);
像这样的迭代无限期地重复。
有人能帮我解决这个问题吗?