mizchi/js/builtins/atomics does not have a README file
pub enum AtomicsWaitResult {
Ok
NotEqual
TimedOut
}impl Eq for AtomicsWaitResultimpl Show for AtomicsWaitResultlet sab = SharedArrayBuffer::new(1024)
let ta = Uint8Array::new(sab)
add(ta, 0, 12) // returns 0 (the old value)
load(ta, 0) // 12 (the new value)fn compareExchange(typedArray : Any, index : Int, expectedValue : Int, replacementValue : Int) -> Intlet ta = Int32Array::new(sab)
store(ta, 0, 5)
compareExchange(ta, 0, 5, 12) // returns 5
load(ta, 0) // 12fn isLockFree(size : Int) -> BoolisLockFree(1) // true
isLockFree(2) // true
isLockFree(4) // true
isLockFree(8) // true (on 64-bit systems)notify(ia, 0, count=1) // Notify 1 agent waiting on index 0let result = wait(ia, 0, 0, timeout=1000)
match result {
Ok => println("Woken up")
NotEqual => println("Value changed")
TimedOut => println("Timed out")
}Install
Download zipbindings for js/node/browser/deno/cloudflare/react etc