joh*_*boy
9
c#
locking
害怕我已经知道了答案.我有一个处理服务调用和缓存的类.为了避免使用相同的请求多次调用服务,我当然可以在代码块周围使用锁,但是很多这些方法都有不同的参数构成缓存键.当它可能是一个完全不同的缓存密钥(或多个不同的缓存密钥)时,等待锁定代码块执行似乎是一种耻辱.
我知道我可以对缓存密钥字符串本身进行锁定,但这是禁止的,因为该字符串可能会弹出任何地方.
因此,我可以在没有锁的情况下执行对服务的潜在不必要的调用,或者通过等待锁来在方法中添加潜在的不必要的延迟.
那些是我唯一的两个选择还是另一个?
干杯