[英]ValueTask for synchronous method
我正在使用并发字典实现一个简单的查找服务来存储数据。 由于使用此服务的大多数方法都是异步的,因此我正在考虑使用ValueTask<TResult>
公开查找函数。
伪代码:
public ValueTask<string> GetResultAsync(string key)
{
return ValueTask.FromResult(_dictionary.FirstOrDefault(p => p.Key == key).Value
}
这种方法是否有意义,是否有任何警告?
由于使用此服务的大多数方法都是异步的,因此我正在考虑使用
ValueTask
公开查找函数。
这不是公开同步操作的伪异步包装器的正当理由。 这样做会增加不必要的开销,并且向服务的消费者传达错误/误导性的语义。 事实上,我知道这样做的唯一正当理由是,如果您正在构建基础 class 并且您希望派生类将覆盖此方法并提供真正的异步实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.