Atomics অবজেক্ট কী?
জাভাস্ক্রিপ্টের Atomics অবজেক্ট একটি বিল্ট-ইন অবজেক্ট যা অ্যাটোমিক অপারেশন যেমন add, sub, and, or, xor, load, store ইত্যাদি স্ট্যাটিক মেথড হিসেবে প্রদান করে। এই মেথডগুলি SharedArrayBuffer অবজেক্টের সাথে ব্যবহার করা হয়।
Atomics.sub() ফাংশন
sub() ফাংশন একটি সংখ্যা এবং পজিশন গ্রহণ করে, দিকৃত পজিশনের সংখ্য থেকে প্রদত্ত সংখ্যা বিয়োগ করে এবং পুরনো পজিশনের মান ফেরত দেয়।
সিনট্যাক্স
Atomics.sub(typedArray, index, value)
প্যারামিটার
typedArray- একটি ইন্টিজার টাইপড অ্যারে (Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, BigUint64Array)index- মডিফাই করার পজিশনvalue- বিয়োগ করার সংখ্যা
রিটার্ন মান
পজিশনে থাকা পুরনো মান।
উদাহরণ
উদাহরণ ১: বেসিক ব্যবহার
const buffer = new SharedArrayBuffer(16);
const data = new Uint8Array(buffer);
data[0] = 30;
Atomics.sub(data, 0, 10);
console.log(Atomics.load(data, 0)); // 20
উদাহরণ ২: একাধিক অপারেশন
const buffer = new SharedArrayBuffer(16);
const data = new Uint8Array(buffer);
data[0] = 30;
console.log("Previous: " + Atomics.sub(data, 0, 10)); // 30
console.log("Result: " + Atomics.load(data, 0)); // 20
console.log("Previous: " + Atomics.sub(data, 0, 5)); // 20
console.log("Result: " + Atomics.load(data, 0)); // 15
দ্রষ্টব্য
- Atomics অপারেশনগুলি থ্রেড-সেফ (thread-safe)
- শুধুমাত্র
SharedArrayBufferএর সাথে কাজ করে - ওয়েব ওয়ার্কার (Web Workers) এর মধ্যে ডেটা শেয়ার করার জন্য উপযোগী