কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে Atomics.isLockFree() ফাংশন


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) সাধারণত লক-ফ্রি। উদাহরণে ভুল আউটপুট দেওয়া হয়েছে। সঠিক আউটপুট প্ল্যাটফর্মের উপর নির্ভর করে।

ব্যবহার

হাই-পারফরম্যান্স কনকারেন্ট প্রোগ্রামিং-এ অ্যালগরিদম বেছে নেওয়ার সময় এই ফাংশনটি ব্যবহার করা হয়।


  1. জাভাস্ক্রিপ্ট ফাংশন ইনভোকেশন

  2. জাভাস্ক্রিপ্ট Number() ফাংশন

  3. জাভাস্ক্রিপ্টে ফাংশন প্রোটোটাইপ

  4. জাভাস্ক্রিপ্টে ফাংশন বরোइং (Function Borrowing)