我想在后台线程中完成一些工作,就像为它创建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中?

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

最佳答案

Yacoder,我真的很喜欢Ayende's two Future implementations。关于缺点的评论中有一些good discussion from Jon Skeet

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

10-11 14:25