Atomics

Atomics in Bnlang works like in JavaScript.
It provides low-level atomic operations on shared memory (SharedArrayBuffer).
You can call it with Atomics, অ্যাটোমিকস, or even Banglish names inside the namespace.


Methods

  • Add/Subtract → Atomics.add(), Atomics.sub() (Bangla: যোগ(), উপ(), Banglish: jog(), up())
  • Bitwise → Atomics.and(), Atomics.or(), Atomics.xor() (Bangla: এবং, অথবা, এক্সঅর)
  • Exchange → Atomics.exchange() (Bangla: বিনিময়, Banglish: binimoy)
  • Compare & Swap → Atomics.compareExchange() (Bangla: তুলনা_বিনিময়, Banglish: tulonaBinimoy)
  • Load/Store → Atomics.load(), Atomics.store() (Bangla: লোড, স্টোর)
  • Wait/Notify → Atomics.wait(), Atomics.waitAsync(), Atomics.notify() (Bangla: অপেক্ষা, অসমলয়_অপেক্ষা, অবহিত)
  • Lock free check → Atomics.isLockFree() (Bangla: লক_ফ্রি_কি, Banglish: lockFreeKi)

Examples

const sab = new SharedArrayBuffer(4);
const view = new Int32Array(sab);

অ্যাটোমিকস.স্টোর(view, 0, 10);
কনসোল.লগ(অ্যাটোমিকস.লোড(view, 0)); // 10

অ্যাটোমিকস.যোগ(view, 0, 5);
কনসোল.লগ(অ্যাটোমিকস.লোড(view, 0)); // 15