24

AtomicBooleanは、その値を次の場所に格納します。

private volatile int value;

次に、たとえば、その値の抽出は次のように行われます。

    public final boolean get() {
    return value != 0;
}

その背後にある理由は何ですか?なぜboolean使われなかったのですか?

4

2 に答える 2

10

AFAIKintは、さまざまなマシンタイプに実装できる最小のタイプのCAS操作です。

注:オブジェクトの割り当ては8バイトに揃えられているため、小さいタイプを使用してもメモリは節約されません。

于 2012-12-05T14:23:48.253 に答える
0

これはおそらく、整数を使用し、コンペアアンドスワップ操作を提供するAtomic同じベース( )に基づいていくつかのクラスをベースにできるようにするためです。Unsafe

実際の並行性は、内部の仕組みの良い説明を提供します。

于 2012-12-05T14:28:55.993 に答える