c# - "AsyncFuture<T>"还是什么? Future<T> 在后台线程中获得——它是一种模式吗?

标签 c# multithreading design-patterns

我想在后台线程中完成一些工作,就像为其创建 Future var 一样简单,然后稍后询问计算值。

在伪 C# 代码中:

AsyncFuture<int> asyncFuture = new AsyncFuture<int>(FuncToCalculateValue);

//do some other work, or draw UI

if(asyncFuture.NoErrorsHappened){
   int realResult = asyncResult.Value;
}

我可以自己实现这种类型,但我的问题是:这不是某种已知模式吗?是否有它的名称,或者甚至是框架实现?可能在 .NET 4.0 中?

如果它是一种模式,与之相关的陷阱是什么?

最佳答案

是的,Futures are part of the Task Parallel Library它将出现在 .NET 4.0 中。

在 .NET 4.0 Beta 1 中,它看起来像一个 Task<TResult> 存在.

关于c# - "AsyncFuture<T>"还是什么? Future<T> 在后台线程中获得——它是一种模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896936/

相关文章:

c# - .NET 中的 block 级与函数级范围界定是否对性能有影响

c++ - Boost线程泄漏C++

Java异常处理机制

c++ - 帮助解决设计问题?

javascript - JavaScript 的基本错误;揭示模块模式风格

c# - 将 C 结构编码到 C#

c# - 使用 API 隐藏程序的标题栏

multithreading - 当使用来自 `fork` 创建的多个 C 线程的回调函数时,Rust Mutex 不工作

c# - 在流上生成 XOR 校验和的简单方法?

c# - 在多核机器上绘图