我正在开发一个程序,其中有多个线程访问存储在类中的 Map Problem
。这个映射,对于“值”,包含一个对象(Slot
),其中包含一个名称和一个List
实例Car
。
所以,我的问题是:
由于由不同线程访问的第一个映射是线程安全的,我需要一个线程安全列表来存储内部列表Slot
还是使用ArrayList
? 请注意,这Car
是AtomicReference
我使用的关键区域compareAndSet()
。
public class Problem {
ConcurrentSkipListMap<Integer, Slot> slots;
//...
}
public class Slot {
private String name;
List<AtomicReference<Car>> cars; // does this need to be a thread safe list?
//...
}
public class Car {
//...
}
显示问题的简单图表:
谢谢你。