我使用以下代码来初始化 EnumSet 的同步实例:
private final Set<MyClass> instance = Collections.synchronizedSet(EnumSet.noneOf(MyClass.class));
我有两个问题:
最佳答案
来自 javadoc :
所以我认为这是你能做的最好的事情。
我也会像你一样保留 Set
final
。奇怪的是他们没有在 javadoc 中提到它。
编辑 :要回答第一个问题,简短的回答是的,长的回答,是的,但是您必须为此付出同步的代价。
关于java - Java 中的线程安全 Enumset,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24370792/