Documentation for sub atomic-assign, assembled from the following types:
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.