这个 Java 类是线程安全的吗?
class Counter() {
private Long counter = 0;
Long get() { return counter; }
Long inc() { return ++counter; }
}
synchronized
如果不是,是否可以在不显式使用锁(或关键字)的情况下使其成为线程安全的?如果不是,那么我猜以下是实现我的目标的最简单方法?
class Counter() {
private final AtomicLong counter = new AtomicLong(0);
Long get() { return counter.get(); }
Long inc() { return counter.incrementAndGet(); }
}