Documentation for sub atomic-assign
assembled from the following pages:
Class: Scalar §
From Scalar
(Scalar) sub atomic-assign §
Defined as:
multi sub atomic-assign( is rw, )
Performs an atomic assignment of $value
into the Scalar
$target
. The atomic-assign
routine ensures that any required barriers are performed such that the changed value will be "published" to other threads.
Class: atomicint §
From atomicint
(atomicint) sub atomic-assign §
Defined as:
multi sub atomic-assign(atomicint $ is rw, int )multi sub atomic-assign(atomicint $ is rw, Int() )
Performs an atomic assignment to a native integer, which may be in a lexical, attribute, or native array element. If $value
cannot unbox to a 64-bit native integer due to being too large, an exception will be thrown. If the size of atomicint
is only 32 bits, then an out of range $value
will be silently truncated. The atomic-assign
routine ensures that any required barriers are performed such that the changed value will be "published" to other threads.