创建结果已准备好的任务的正确方法
有时我创建一个像这样的方法
Task<int> f()
{
if (...) return Task.Factory.StartNew(() => 42); // in this case, result already known
else ... // return some "real task"
}
但我想知道是否有一种方法可以创建一个已经完成的任务,这样我就不会因为安排“计算”42而产生任何潜在的开销
Sometimes I create a method like this
Task<int> f()
{
if (...) return Task.Factory.StartNew(() => 42); // in this case, result already known
else ... // return some "real task"
}
But I was wondering if there is a way to create a task thas is already completed, so that I won't incur any potential overhead of scheduling the "calculation" 42
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
TaskCompletionSource
:(通过
Use
TaskCompletionSource<T>
:(via MSDN)