1

文字列を返すメソッド「Essen」を呼び出す5つのタスクの配列を作成しています

        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 値を処理するにはどうすればよいですか? これらの戻り値をリストボックスに書き込みたいのですが...

4

1 に答える 1