除了使用同步方法或 AtomicInteger 之外,还有其他方法可以进行线程安全整数增量吗?
问问题
103 次
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 回答