const class concurrent::AtomicRef

sys::Obj
  concurrent::AtomicRef

@Js

Source

AtomicRef is used to manage a object reference shared between actor/threads with atomic updates. Only immutable objects may be shared.

compareAndSet

Bool compareAndSet(Obj? expect, Obj? update)

Source

Atomically set the value to update if current value is equivalent to the expect value compared using === operator. Return true if updated, or false if current value was not equal to the expected value. Throw NotImmutableErr if update is mutable.

getAndSet

Obj? getAndSet(Obj? val)

Source

Atomically set the value and return the previous value. Throw NotImmutableErr if val is mutable.

make

new make(Obj? val := null)

Source

Construct with initial value. Throw NotImmutableErr if initialized to a mutable value.

toStr

virtual override Str toStr()

Source

Return val.toStr

val

Obj? val

Source

The current value. Throw NotImmutableErr if set to a mutable value.