2013-05-09 44 views
1

是否有任何其他方法使线程安全的整数增量比使用同步方法或AtomicInteger?什么是安全递增整数的方法?

+0

你为什么需要其他方式? AtomicInteger是您最好的选择,因为它不锁定,因此不存在风险或性能损失。如果您需要关于同步的更多信息,可能这会有所帮助:http://java.dzone.com/articles/mind-it-synchronization-risky – 2013-05-09 04:59:50

回答

0

您也可以同步一个对象。

例子:

Integer myInteger = 0; 
synchronized(myInteger) { 
    myInteger += 1; 
} 
1

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

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

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

3)​​

4)的java.util.concurrent.locks框架

所以第三种方式是用的ReentrantLock

+0

易失性帮助,如果您访问同步块 – Bohemian 2013-05-09 05:14:46

0

没有,因为它是一个读,然后写。

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

相关问题