mizchi/js/builtins/atomics does not have a README file
#external
pub type Atomicslet sab = SharedArrayBuffer::new(1024)
let ta = Uint8Array::new(sab)
Atomics::add(ta, 0, 12) // returns 0 (the old value)
Atomics::load(ta, 0) // 12 (the new value)let ta = Int32Array::new(sab)
Atomics::store(ta, 0, 5)
Atomics::compareExchange(ta, 0, 5, 12) // returns 5
Atomics::load(ta, 0) // 12Atomics::isLockFree(1) // true
Atomics::isLockFree(2) // true
Atomics::isLockFree(4) // true
Atomics::isLockFree(8) // true (on 64-bit systems)Atomics::notify(ia, 0, count=1) // Notify 1 agent waiting on index 0let result = Atomics::wait(ia, 0, 0, timeout=1000)
match result {
Ok => println("Woken up")
NotEqual => println("Value changed")
TimedOut => println("Timed out")
}js bindings for builtins/web/node/deno/bun (browser APIs split to mizchi/js_browser)
Dependencies