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

Max*_*kin 8 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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

Ant*_*ean 1

Yacoder,我非常喜欢Ayende 的两个 Future 实现乔恩·斯基特(Jon Skeet)在关于缺点的评论中进行了一些很好的讨论。