0
为什么导致错误结果的任务列表。 任何人都可以给方向?并行任务导致错误结果
这是我的代码到目前为止。
static string[] kk = new string[] { "a", "b", "c", "d", "e", "f" };
static void Main(string[] args)
{
//Parallel.For(0, 10, i => Test(i));
//Console.ReadLine();
foreach(string str in kk)
{
Task<string> task = Task.Factory.StartNew(() => Test(str));
listTask.Add(task);
}
do
{
Thread.Sleep(100);
}while(!Task.WaitAll(listTask.ToArray(),1000));
foreach (Task<string> task in listTask)
{
Console.WriteLine(task.Status.ToString() + " : " + task.Result);
}
Console.ReadLine();
}
private static string Test(string i)
{
return "test " + i;
}
我期望导致这样的:
测试一个 试验B 试验C 测试d 测试电子邮件 测试f
但是我上面的代码得到的是这样的: 测试f test f test f test f test f test f
在此先感谢。
感谢@dcastro您的指导和解释:) –