public class AtomicBiInteger extends AtomicLong
Constructor and Description |
---|
AtomicBiInteger() |
AtomicBiInteger(int hi,
int lo) |
AtomicBiInteger(long encoded) |
Modifier and Type | Method and Description |
---|---|
void |
add(int deltaHi,
int deltaLo)
Atomically adds the given deltas to the current hi and lo values.
|
int |
addAndGetHi(int delta)
Atomically adds the given delta to the current hi value, returning the updated hi value.
|
int |
addAndGetLo(int delta)
Atomically adds the given delta to the current lo value, returning the updated lo value.
|
boolean |
compareAndSet(int expectHi,
int hi,
int expectLo,
int lo)
Atomically sets the hi and lo values to the given updated values only if
the current hi and lo values
== the expected hi and lo values. |
boolean |
compareAndSet(long encoded,
int hi,
int lo)
Atomically sets the values to the given updated values only if
the current encoded value
== the expected encoded value. |
boolean |
compareAndSetHi(int expectHi,
int hi)
Atomically sets the hi value to the given updated value
only if the current value
== the expected value. |
boolean |
compareAndSetLo(int expectLo,
int lo)
Atomically sets the lo value to the given updated value
only if the current value
== the expected value. |
static long |
encode(int hi,
int lo)
Encodes hi and lo values into a long.
|
static long |
encodeHi(long encoded,
int hi)
Sets the hi value into the given encoded value.
|
static long |
encodeLo(long encoded,
int lo)
Sets the lo value into the given encoded value.
|
int |
getAndSetHi(int hi)
Atomically sets the hi value without changing the lo value.
|
int |
getAndSetLo(int lo)
Atomically sets the lo value without changing the hi value.
|
int |
getHi() |
static int |
getHi(long encoded)
Gets a hi value from the given encoded value.
|
int |
getLo() |
static int |
getLo(long encoded)
Gets a lo value from the given encoded value.
|
void |
set(int hi,
int lo)
Sets the hi and lo values.
|
accumulateAndGet, addAndGet, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, incrementAndGet, intValue, lazySet, longValue, set, toString, updateAndGet, weakCompareAndSet
byteValue, shortValue
public AtomicBiInteger()
public AtomicBiInteger(long encoded)
public AtomicBiInteger(int hi, int lo)
public int getHi()
public int getLo()
public int getAndSetHi(int hi)
hi
- the new hi valuepublic int getAndSetLo(int lo)
lo
- the new lo valuepublic void set(int hi, int lo)
hi
- the new hi valuelo
- the new lo valuepublic boolean compareAndSetHi(int expectHi, int hi)
Atomically sets the hi value to the given updated value
only if the current value ==
the expected value.
Concurrent changes to the lo value result in a retry.
expectHi
- the expected hi valuehi
- the new hi valuetrue
if successful. False return indicates that
the actual hi value was not equal to the expected hi value.public boolean compareAndSetLo(int expectLo, int lo)
Atomically sets the lo value to the given updated value
only if the current value ==
the expected value.
Concurrent changes to the hi value result in a retry.
expectLo
- the expected lo valuelo
- the new lo valuetrue
if successful. False return indicates that
the actual lo value was not equal to the expected lo value.public boolean compareAndSet(long encoded, int hi, int lo)
==
the expected encoded value.encoded
- the expected encoded valuehi
- the new hi valuelo
- the new lo valuetrue
if successful. False return indicates that
the actual encoded value was not equal to the expected encoded value.public boolean compareAndSet(int expectHi, int hi, int expectLo, int lo)
==
the expected hi and lo values.expectHi
- the expected hi valuehi
- the new hi valueexpectLo
- the expected lo valuelo
- the new lo valuetrue
if successful. False return indicates that
the actual hi and lo values were not equal to the expected hi and lo value.public int addAndGetHi(int delta)
delta
- the delta to applypublic int addAndGetLo(int delta)
delta
- the delta to applypublic void add(int deltaHi, int deltaLo)
deltaHi
- the delta to apply to the hi valuedeltaLo
- the delta to apply to the lo valuepublic static int getHi(long encoded)
encoded
- the encoded valuepublic static int getLo(long encoded)
encoded
- the encoded valuepublic static long encode(int hi, int lo)
hi
- the hi valuelo
- the lo valuepublic static long encodeHi(long encoded, int hi)
encoded
- the encoded valuehi
- the hi valuepublic static long encodeLo(long encoded, int lo)
encoded
- the encoded valuelo
- the lo valueCopyright © 2010 - 2020 Adobe. All Rights Reserved