Java AtomicInteger は、 の通常の 4 バイト長を使用していますint
。
次のコードを実行すると
AtomicInteger i = new AtomicInteger(Integer.MIN_VALUE);
System.out.println(i);
i.decrementAndGet();
System.out.println(i);
私たちは得るだろう
-2147483648
2147483647
原子整数のサイズを設定して、32 ビットではなく 20 ビットの長さにし、原子性を維持する方法はありますか?
たとえば、新しい結果は次のようになります。
-524288
524287
-2^19
と_ 2^19-1