我希望在后台线程中完成一些工作,就像为其创建一个 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 中?
如果它是一种模式,那么与之相关的陷阱是什么?
Yes, Futures 是任务并行库的一部分 http://blogs.msdn.com/pfxteam/archive/2008/02/29/7960146.aspx这将出现在 .NET 4.0 中。
在 .NET 4.0 Beta 1 中,它看起来像作为Task<TResult> http://msdn.microsoft.com/en-us/library/dd321424(VS.100).aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)