假设我们有MethodA和MethodB,其中整个方法的主体都在单个大锁块内。两种方法都使用相同的对象进行锁定:
lock (objectX)
{
// methodbody
}
有多个线程调用这两种方法。
两个问题:
答案 0 :(得分:3)
2)在适当的地方引入两种方法中的锁是否会更快
是。始终保持锁定的段尽可能短。锁定本身很便宜,当你做非关键的事情时,不要让别人等待。
1)是否可以测量总等待时间?包括:获取锁定的时间和“其他”方法的锁定块完成执行所需的时间。
这不是我想的。对于长时间的延伸,你可能会考虑CPU时间与经过的时间,但一般来说:使用一个好的分析器。