在并行执行中获取方法的返回值
Posted
技术标签:
【中文标题】在并行执行中获取方法的返回值【英文标题】:Get return value of method in parallel execution 【发布时间】:2015-05-26 13:03:09 【问题描述】:我正在使用Parallel.Invoke
执行具有不同输入值的单个方法,但我想获取该方法的返回值。
我怎样才能得到它?
public class Work
public static void Main()
Parallel.Invoke(() => DoWork("Raju"),
() => DoWork("Ramu"));
public static string DoWork(string data)
return "testing" + data;
在上面的方法中我想得到DoWork
的返回值。
【问题讨论】:
你读过这篇文章吗? :dotnetcurry.com/showarticle.aspx?ID=491 【参考方案1】:只需像这样处理返回值:
string result1, result2;
Parallel.Invoke(() => result1 = DoWork("Raju"),
() => result2 = DoWork("Ramu"));
还请记住,无论何时并行执行某些操作,都需要小心避免数据竞争和竞争条件。
【讨论】:
以上是关于在并行执行中获取方法的返回值的主要内容,如果未能解决你的问题,请参考以下文章