Atomics.isLockFree() ফাংশন
এই মেথডটি নির্ধারণ করে যে নির্দিষ্ট আকারের ডেটা টাইপের জন্য অ্যাটোমিক অপারেশন লক-ফ্রি (lock-free) হاردওয়্যার ইনস্ট্রাকশন ব্যবহার করে কিনা। এটি পারফরম্যান্স অপ্টিমাইজেশনে সাহায্য করে।
সিনট্যাক্স
Atomics.isLockFree(size)
প্যারামিটার
size- বাইটে আকার (1, 2, 4, বা 8)
রিটার্ন মান
true যদি নির্দিষ্ট আকারের জন্য লক-ফ্রি অপারেশন সমর্থিত হয়, অন্যথায় false।
উদাহরণ
console.log(Atomics.isLockFree(1)); // true (8-bit)
console.log(Atomics.isLockFree(2)); // true (16-bit)
console.log(Atomics.isLockFree(4)); // true (32-bit)
console.log(Atomics.isLockFree(8)); // true (64-bit)
console.log(Atomics.isLockFree(7)); // false (অবৈধ আকার)
ব্যাখ্যা
আউটপুট false false দেখা যাচ্ছে ৭ এবং ৮ বাইটের জন্য। কিন্তু বাস্তবে ৮ বাইট (BigInt64Array, BigUint64Array) সাধারণত লক-ফ্রি। উদাহরণে ভুল আউটপুট দেওয়া হয়েছে। সঠিক আউটপুট প্ল্যাটফর্মের উপর নির্ভর করে।
ব্যবহার
হাই-পারফরম্যান্স কনকারেন্ট প্রোগ্রামিং-এ অ্যালগরিদম বেছে নেওয়ার সময় এই ফাংশনটি ব্যবহার করা হয়।