【发布时间】:2017-04-15 04:31:30
【问题描述】:
我正在使用以下代码创建两个线程并等待它们完成:
Task task1 = Task.Factory.StartNew(() => DoSomething(a, b));
Task task2 = Task.Factory.StartNew(() => DoSomething(a, b));
Task.WaitAll(task1, task2);
DoSomething 方法返回的返回类型为字符串,当两个任务完成时,我想使用它的返回值。
我尝试创建两个字符串变量,并为它们分配返回值,如下所示:
string x, y;
Task task1 = Task.Factory.StartNew(() => x = DoSomething(a, b));
Task task2 = Task.Factory.StartNew(() => y = DoSomething(a, b));
但是我得到一个 x 和 y 未分配的编译时错误,我在这里缺少什么?
【问题讨论】:
标签: c# multithreading