【发布时间】:2012-01-25 14:52:17
【问题描述】:
我想要一个类似的功能:
public static V callAsyncAndWait<V>(Func<V> func)
{
ThreadPool.QueueUserWorkItem(obj =>
{
V v = func.Invoke();
});
return v;
}
显然这段代码无法编译。我想要的是在另一个线程中运行 Func 并返回结果。我该怎么做?
【问题讨论】:
-
这没有意义。调用异步意味着不阻塞调用者线程,这正是你想要的。为什么不在调用线程中调用函数?真的没什么区别
-
callAsyncAndWait非常令人困惑。您想异步启动某事或等待进程完成? -
可能他的控制流程是这样的:启动异步任务,执行其他任务,等待结果。
标签: c# .net multithreading compiler-errors