1

除了使用同步方法或 AtomicInteger 之外,还有其他方法可以进行线程安全整数增量吗?

4

3 回答 3

1

我们有以下可用的同步选项:

1)volatile(但它不会使 ++ 安全)

2)AtomicInteger(最好的,它是无锁的)

3)synchronized

4) java.util.concurrent.locks 框架

所以第三种方式是使用ReentrantLock

于 2013-05-09T02:28:25.863 回答
0

您也可以在单个对象上进行同步。

例子:

Integer myInteger = 0;
synchronized(myInteger) {
    myInteger += 1;
}
于 2013-05-09T02:16:06.720 回答
0

不,因为先读后写。

您要么必须使用锁定机制(例如synchronized,但Lock也可以使用 a )或原子操作。

于 2013-05-09T03:54:57.863 回答