परमाणु - अवलोकन
एटोमिक्स
एटमिक्स जावास्क्रिप्ट में एक वस्तु है जो स्थैतिक विधियों के रूप में निष्पादित होने के लिए परमाणु संचालन प्रदान करती है। मैथ ऑब्जेक्ट के तरीकों की तरह, एटॉमिक्स के तरीके और गुण भी स्थिर हैं। एटमिक्स का उपयोग SharedArrayBuffer ऑब्जेक्ट के साथ किया जाता है।
परमाणु संचालन एक परमाणु मॉड्यूल पर स्थापित होते हैं। अन्य वैश्विक वस्तुओं के विपरीत, एटॉमिक्स एक निर्माता नहीं है। एटमिक्स का उपयोग नए ऑपरेटर के साथ नहीं किया जा सकता है या इसे फ़ंक्शन के रूप में लागू किया जा सकता है।
परमाणु संचालन
परमाणु संचालन अबाध है।
जब मेमोरी साझा की जाती है, तो कई थ्रेड्स मेमोरी में मौजूद डेटा को पढ़ या लिख सकते हैं। इसलिए यदि कोई डेटा बदल गया है, तो डेटा की हानि होगी परमाणु संचालन सुनिश्चित करें कि अनुमानित मान (डेटा) सही ढंग से लिखे और पढ़े गए हैं। परमाणु संचालन तब तक शुरू नहीं होगा जब तक कि वर्तमान ऑपरेशन समाप्त नहीं हो जाता है, इसलिए किसी मौजूद डेटा को बदलने का कोई तरीका नहीं है।
उदाहरण
निम्नलिखित जावास्क्रिप्ट एटोमिक्स ऑपरेशन के उपयोग का कोड है -
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Atomics Example</title>
<style>
.result {
font-size: 20px;
border: 1px solid black;
}
</style>
</head>
<body onLoad="operate();">
<h1>JavaScript Atomics Properties</h1>
<div class="result"></div>
<p>Atomics.add(arr, 0, 2)</p>
<p>Atomics.load(arr, 0)</p>
<script>
function operate(){
let container = document.querySelector(".result");
// create a SharedArrayBuffer
var buffer = new SharedArrayBuffer(25);
var arr = new Uint8Array(buffer);
// Initialise element at zeroth position of array with 6
arr[0] = 6;
container.innerHTML = Atomics.add(arr, 0, 2) + '<br/>' + Atomics.load(arr, 0);
}
</script>
</body>
</html>
उत्पादन
परिणाम सत्यापित करें।