2013-05-09 45 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)或原子操作。

相關問題