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