次のクラスがあるとします。
class x
{
Object lockOne = new Object();
Object lockTwo = new Object();
List<Something> listOne = new List<Something>();
List<Something> listTwo = new List<Something>();
void MethodOne()
{
lock(lockOne)
{
// some operation on listOne
}
}
void MethodTwo()
{
lock(lockTwo)
{
// some operation on listTwo
}
}
}
とがとにかく関連していないことに注意して、異なるスレッドから同時に呼び出すことができると仮定して、2つのロックオブジェクトを使用するのは正しいですかMethodOne()
?ロックに関連する操作は、上記のコメントで指定されている操作のみです。MethodTwo()
listOne
listTwo