我很难从这两种方法中进行选择,这里的许多答案都偏向其中一种。我需要一个指导来选择最适合我的情况。
lock (lockObject)
lock (lockObject2) {
// two critical portions of code
}
相对:
lock (lockObject)
{
//first critical portion for lockObject
lock (lockObject2) {
//critical portion for lockObject2 and lockObject
}
}
第二个示例被 Coverity 标记为不好的做法,如果可以这样做,我想切换到第一个示例。
两者中哪一个是最好的(最好的意思是代码质量和从长远来看问题更少)?为什么?
编辑 1:第一个锁仅用于这种情况。