C#中的"锁定"语句是否耗时?

Mar*_*ood 2 c# locking

我有一个方法,通过其他方法多次调用哈希数据.在方法内部,使用了一些锁定语句.能不能让我知道锁定声明是否耗时,以及改善它的最佳方法是什么.

P/S:我一直在寻找避免在此方法中使用lock语句的方法.

Eri*_*ert 11

你的问题不负责任.这完全取决于锁是否有争议.

让我这样说吧:你问"进入浴室需要很长时间吗?" 没有告诉我们有多少人已经在使用它.如果没有人排队,那就不长.如果通常有二十人等待进入,也许确实很长.


Ste*_*ary 6

锁定语句本身并不是非常耗时,但它可能会导致对共享数据的争用.

跟进:如果您需要保护共享数据,请使用锁定.正如本文所示,无锁代码很难正确完成.