我正在创建一个包含 5 个任务的数组,调用字符串返回方法“Essen”
tasks[0] = new Task(() => Philosoph.Essen("1", gabeln[2], gabeln[1]));
tasks[1] = new Task(() => Philosoph.Essen("2", gabeln[3], gabeln[2]));
tasks[2] = new Task(() => Philosoph.Essen("3", gabeln[4], gabeln[3]));
tasks[3] = new Task(() => Philosoph.Essen("4", gabeln[5], gabeln[4]));
tasks[4] = new Task(() => Philosoph.Essen("5", gabeln[1], gabeln[5]));
然后我使用 Parallel.ForEach 开始这些任务
Parallel.ForEach(tasks, t =>
{
t.Start();
});
Task.WaitAll(tasks);
方法 Essen 正在返回字符串
static public string Essen(String philosoph, String linkeGabel, String rechteGabel)
{
lock (linkeGabel)
{
lock (rechteGabel)
{
return ("Philosoph " + philosoph + "isst mit: " + linkeGabel + ", " + rechteGabel );
}
}
}
如何在 5 个并行处理中的每一个处理 Essen()-Return 值?我想将这些返回值写入列表框...