我使用Parallel来执行具有不同输入值的单个方法,但我想获得该方法的返回值。 我怎么能得到它?
public class Work
{
public static void Main()
{
Parallel.Invoke(() => DoWork("Raju"),
() => DoWork("Ramu"));
}
public static string DoWork(string data)
{
return "tesing" + data;
}
}
在上面的方法中我想获得DoWork返回值。
答案 0 :(得分:15)
只需像这样处理返回值:
string result1, result2;
Parallel.Invoke(() => result1 = DoWork("Raju"),
() => result2 = DoWork("Ramu"));
还要记住,无论何时并行执行某些操作,都需要小心避免数据争用和竞争条件。