【问题标题】: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的返回值。

【问题讨论】:

标签: c# multithreading parallel-processing .net-4.0


【解决方案1】:

只需像这样处理返回值:

string result1, result2;

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

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

【讨论】:

    猜你喜欢
    • 2015-08-07
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2010-12-02
    • 1970-01-01
    • 2021-01-28
    相关资源
    最近更新 更多