1

同期メソッドまたは AtomicInteger を使用する以外に、スレッドセーフな整数インクリメントを行う方法はありますか?

4

3 に答える 3

1

次の利用可能な同期オプションがあります。

1) volatile(ただし、++ を安全にするわけではありません)

2) AtomicInteger (最高、ロックフリー)

3)synchronized

4) java.util.concurrent.locks フレームワーク

したがって、3 番目の方法は ReentrantLock を使用することです

于 2013-05-09T02:28:25.863 に答える
0

単一のオブジェクトで同期することもできます。

例:

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

いいえ、それは読み取りと書き込みであるためです。

ロック メカニズム ( などsynchronizedですが、 aLockも同様に使用できます) またはアトミック操作を使用する必要があります。

于 2013-05-09T03:54:57.863 に答える