這是我當前的代碼。我想知道如果已經同步,我是否需要包裝isObjectActive()在同步塊中?getState()private final Object lock = new Object();@GuardedBy("lock")private EventTypes state;@GuardedBy("lock")public void setState(final EventTypes state) { synchronized (lock) { this.state = state; }}@GuardedBy("lock")@VisibleForTestingpublic EventTypes getState() { synchronized (lock) { return state; }}@GuardedBy("lock")public boolean isObjectActive() { synchronized (lock) { return getState() == EventTypes.ACTIVE; }}
Java 中枚舉值的線程安全比較
慕碼人8056858
2023-06-21 13:53:20