データのリスト(例:リスト)を保持するクラスがあります。クラスで使用できるメソッドがあります
- リストを更新するには
- リストに新しいアイテムを挿入し、
- リストからアイテムを削除する
上記の挿入、更新、および削除メソッドは、複数のスレッドから呼び出されています。したがって、次のようにロックを提供する必要があります Object locker = new Object();
// Insert method
lock(locker)
{
// Insert to list
}
// Update method
lock(locker)
{
// Update the list
}
さて、私の質問は、上記のようにロック オブジェクトを使用するか、以下のようにリストをロックする「syncroot」メソッドを使用するか、どの種類のロック方法が適切かということです。ご意見をお聞かせください。
// Insert method
lock(((ICollection)myList).SynRoot)
{
// Insert to list
}
// Update method
lock(((ICollection)myList).SynRoot)
{
// Update the list
}
ありがとう