Package org.apache.ignite.internal.util
Class GridAtomicLong
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicLong
-
- org.apache.ignite.internal.util.GridAtomicLong
-
- All Implemented Interfaces:
Serializable
public class GridAtomicLong extends AtomicLong
Extended version ofAtomicLong.In addition to operations provided in java atomic data structures, this class also adds greater than and less than atomic set operations.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GridAtomicLong()Creates a new AtomicLong with initial value0.GridAtomicLong(long initVal)Creates a new AtomicLong with the given initial value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckAndSet(IgnitePredicate<Long> p, long update)Atomically updates value only if passed in predicate returnstrue.booleangreaterAndSet(long check, long update)Atomically updates value only ifcheckvalue is greater than current value.booleangreaterEqualsAndSet(long check, long update)Atomically updates value only ifcheckvalue is greater than or equal to current value.booleanlessAndSet(long check, long update)Atomically updates value only ifcheckvalue is less than current value.booleanlessEqualsAndSet(long check, long update)Atomically updates value only ifcheckvalue is less than current value.booleansetIfGreater(long update)Sets value only if it is greater than current one.booleansetIfGreaterEquals(long update)Sets value only if it is greater than or equals to current one.booleansetIfLess(long update)Sets value only if it is less than current one.booleansetIfLessEquals(long update)Sets value only if it is less than or equals to current one.booleansetIfNotEquals(long update)Sets value only if it is not equals to current one.-
Methods inherited from class java.util.concurrent.atomic.AtomicLong
accumulateAndGet, addAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAcquire, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, getOpaque, getPlain, incrementAndGet, intValue, lazySet, longValue, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
Methods inherited from class java.lang.Number
byteValue, shortValue
-
-
-
-
Method Detail
-
greaterAndSet
public boolean greaterAndSet(long check, long update)Atomically updates value only ifcheckvalue is greater than current value.- Parameters:
check- Value to check against.update- Value to set.- Returns:
Trueif value was set.
-
greaterEqualsAndSet
public boolean greaterEqualsAndSet(long check, long update)Atomically updates value only ifcheckvalue is greater than or equal to current value.- Parameters:
check- Value to check against.update- Value to set.- Returns:
Trueif value was set.
-
lessAndSet
public boolean lessAndSet(long check, long update)Atomically updates value only ifcheckvalue is less than current value.- Parameters:
check- Value to check against.update- Value to set.- Returns:
Trueif value was set.
-
lessEqualsAndSet
public boolean lessEqualsAndSet(long check, long update)Atomically updates value only ifcheckvalue is less than current value.- Parameters:
check- Value to check against.update- Value to set.- Returns:
Trueif value was set.
-
setIfGreater
public boolean setIfGreater(long update)
Sets value only if it is greater than current one.- Parameters:
update- Value to set.- Returns:
Trueif value was set.
-
setIfGreaterEquals
public boolean setIfGreaterEquals(long update)
Sets value only if it is greater than or equals to current one.- Parameters:
update- Value to set.- Returns:
Trueif value was set.
-
setIfLess
public boolean setIfLess(long update)
Sets value only if it is less than current one.- Parameters:
update- Value to set.- Returns:
Trueif value was set.
-
setIfLessEquals
public boolean setIfLessEquals(long update)
Sets value only if it is less than or equals to current one.- Parameters:
update- Value to set.- Returns:
Trueif value was set.
-
setIfNotEquals
public boolean setIfNotEquals(long update)
Sets value only if it is not equals to current one.- Parameters:
update- Value to set.- Returns:
Trueif value was set.
-
checkAndSet
public boolean checkAndSet(IgnitePredicate<Long> p, long update)
Atomically updates value only if passed in predicate returnstrue.- Parameters:
p- Predicate to check.update- Value to set.- Returns:
Trueif value was set.
-
-