Atomics
Atomics in Bnlang works like in JavaScript.
It provides low-level atomic operations on shared memory (SharedArrayBuffer).
You can call it with Atomics, অ্যাটোমিকস, names inside the namespace.
Methods
- Add/Subtract →
Atomics.add(),Atomics.sub()(Bangla:যোগ(),উপ(),up()) - Bitwise →
Atomics.and(),Atomics.or(),Atomics.xor()(Bangla:এবং,অথবা,এক্সঅর) - Exchange →
Atomics.exchange()(Bangla:বিনিময়) - Compare & Swap →
Atomics.compareExchange()(Bangla:তুলনা_বিনিময়) - Load/Store →
Atomics.load(),Atomics.store()(Bangla:লোড,স্টোর) - Wait/Notify →
Atomics.wait(),Atomics.waitAsync(),Atomics.notify()(Bangla:অপেক্ষা,অসমলয়_অপেক্ষা,অবহিত) - Lock free check →
Atomics.isLockFree()(Bangla:লক_ফ্রি_কি)
Examples
const sab = new SharedArrayBuffer(4);
const view = new Int32Array(sab);
অ্যাটোমিকস.স্টোর(view, 0, 10);
কনসোল.লগ(অ্যাটোমিকস.লোড(view, 0)); // 10
অ্যাটোমিকস.যোগ(view, 0, 5);
কনসোল.লগ(অ্যাটোমিকস.লোড(view, 0)); // 15