この 2 つのアプローチから選択するのに苦労しています。ここでの回答の多くは、どちらか一方を支持しています。自分の状況に最適なものを選択するためのガイダンスが必要です。
lock (lockObject)
lock (lockObject2) {
// two critical portions of code
}
対:
lock (lockObject)
{
//first critical portion for lockObject
lock (lockObject2) {
//critical portion for lockObject2 and lockObject
}
}
2 番目の例は、Coverity によって不適切な方法としてマークされています。問題がなければ最初の例に切り替えたいと考えています。
2 つのうちどちらが最適ですか (コードの品質と長期的に見て問題が少ないことを意味します)。なぜ?
編集 1: 最初のロックは、特にこの場合にのみ使用されます。