获取 return 并行执行方法的值

Get return value of method in parallel execution

我正在使用 Parallel.Invoke 来执行具有不同输入值的单个方法,但我想获得该方法的 return 值。 我怎样才能得到它?

public class Work
{
    public static void Main()
    {
        Parallel.Invoke(() => DoWork("Raju"),
                        () => DoWork("Ramu"));
    }

    public static string DoWork(string data)
    {
        return "testing" + data;
    }
}

在上面的方法中我想要得到 DoWork return 值。

只需像这样处理 return 值:

string result1, result2;

Parallel.Invoke(() => result1 = DoWork("Raju"),
                () => result2 = DoWork("Ramu"));

另外请记住,无论何时并行执行某些操作,都需要小心避免数据竞争和竞争条件。