Builds an AtomicInt reference.
Builds an AtomicInt reference.
is the initial value with which to initialize the atomic
Constructs an AtomicInt reference, allowing for fine-tuning of the created instance.
Constructs an AtomicInt reference, allowing for fine-tuning of the created instance.
A PaddingStrategy can be provided in order to counter the "false sharing" problem.
Note that for Scala.js we aren't applying any padding, as it doesn't make much sense, since Javascript execution is single threaded, but this builder is provided for syntax compatibility anyway across the JVM and Javascript and we never know how Javascript engines will evolve.
Also this builder on top Java 8 also allows for turning off the
Java 8 intrinsics, thus forcing usage of CAS-loops for
getAndSet
and for getAndAdd
.
is the initial value with which to initialize the atomic
is the PaddingStrategy to apply
is a boolean parameter that specifies whether
the instance is allowed to use the Java 8 optimized operations
for getAndSet
and for getAndAdd
Constructs an AtomicInt reference, allowing for fine-tuning of the created instance.
Constructs an AtomicInt reference, allowing for fine-tuning of the created instance.
A PaddingStrategy can be provided in order to counter the "false sharing" problem.
Note that for Scala.js we aren't applying any padding, as it doesn't make much sense, since Javascript execution is single threaded, but this builder is provided for syntax compatibility anyway across the JVM and Javascript and we never know how Javascript engines will evolve.
This builder guarantees to construct a safe atomic reference that
does not make use of sun.misc.Unsafe
. On top of platforms that
don't support it, notably some versions of Android or on top of
the upcoming Java 9, this might be desirable.
NOTE that explicit usage of this builder is not usually necessary
because create can auto-detect whether the underlying platform
supports sun.misc.Unsafe
and if it does, then its usage is
recommended, because the "safe" atomic instances have overhead.
is the initial value with which to initialize the atomic
is the PaddingStrategy to apply
Constructs an AtomicInt reference, allowing for fine-tuning of the created instance.
Constructs an AtomicInt reference, allowing for fine-tuning of the created instance.
A PaddingStrategy can be provided in order to counter the "false sharing" problem.
Note that for Scala.js we aren't applying any padding, as it doesn't make much sense, since Javascript execution is single threaded, but this builder is provided for syntax compatibility anyway across the JVM and Javascript and we never know how Javascript engines will evolve.
is the initial value with which to initialize the atomic
is the PaddingStrategy to apply