リストを追加/削除/変更するためにロックを使用するだけでよいと言っているのは正しいですか、それともリストを繰り返すときにロックする必要がありますか?
だから私はこれを行うことでスレッドセーフですか?
class ItemsList
{
List<int> items = new List<int>();
object listLock = new object();
public void Add(int item)
{
lock (listLock)
{
items.Add(item);
}
}
public void Remove(int item)
{
lock (listLock)
{
items.Remove(item);
}
}
public void IncrementAll()
{
foreach (var item in items)
{
item += 1;
}
}
}