是否还有其他方法可以使用同步方法或AtomicInteger进行线程安全的整数递增?
答案 0 :(得分:1)
我们有以下可用的同步选项:
1)volatile
(但它不能使++安全)
2)AtomicInteger(最好的,它没有锁定)
3)synchronized
4)java.util.concurrent.locks framework
所以第三种方法是使用ReentrantLock
答案 1 :(得分:0)
您也可以同步一个对象。
示例:
Integer myInteger = 0;
synchronized(myInteger) {
myInteger += 1;
}
答案 2 :(得分:0)
不,因为它是读取然后写入。
您必须使用锁定机制(例如synchronized
,但也可以使用Lock
)或原子操作。