110,536
社区成员
发帖
与我相关
我的任务
分享
int[] x = new int[100000];
int y = 0;
var result = Parallel.ForEach(x, item => { y++; });
if(result.IsCompleted)
Console.WriteLine(y);
像这样,10次里面基本List<int> dint = new List<int>();
List<string> ListString = new List<string>();
for (int i = 0; i < 100; i++)
{
dint.Add(i);
}
//new b().test(i)
Parallel.ForEach(dint, item =>
{
ListString.Add(item.ToString());
Thread.Sleep(100);
}
);
while (ListString.Count < 99)
{
Thread.Sleep(300);
}
string ddddd = "";
foreach (string item in ListString)
{
ddddd += item + ",";
}
Console.WriteLine(ddddd);
试了下没问题啊
System.Threading.ThreadPool.QueueUserWorkItem(w =>
{
Parallel.ForEach(dint, item =>
{
ListString.Add(item.ToString());
});
});
List<int> dint = new List<int>();
List<string> ListString = new List<string>();
//ConcurrentBag<string> ListString = new ConcurrentBag<string>();
for (int i = 0; i < 100000; i++)
{
dint.Add(i);
}
//new b().test(i)
Parallel.ForEach(dint, item =>
{
ListString.Add(item.ToString());
//Thread.Sleep(10);
}
);
Console.Write("已经添加了:{0}条记录。", ListString.Count);
Console.ReadKey();
while (ListString.Count < 999999)
{
Thread.Sleep(300);
}
string ddddd = "";
foreach (string item in ListString)
{
ddddd += item + ",";
}
Console.WriteLine(ddddd);
切换一下注释掉的ListString的定义就可以看出效果。