Atomics
Atomics जावास्क्रिप्ट में एक ऑब्जेक्ट है जो स्टेटिक मेथड्स के रूप में किए जाने वाले एटॉमिक ऑपरेशन्स प्रदान करता है। Math ऑब्जेक्ट के मेथड्स की तरह ही, Atomics के मेथड्स और प्रॉपर्टीज भी स्टेटिक हैं। Atomics का उपयोग SharedArrayBuffer ऑब्जेक्ट्स के साथ किया जाता है।
एटॉमिक ऑपरेशन्स Atomics मॉड्यूल पर इंस्टॉल होते हैं। अन्य ग्लोबल ऑब्जेक्ट्स के विपरीत, Atomics एक कंस्ट्रक्टर नहीं है। Atomics का उपयोग new ऑपरेटर के साथ नहीं किया जा सकता या इसे फंक्शन के रूप में इनवोक नहीं किया जा सकता।
एटॉमिक ऑपरेशन्स
एटॉमिक ऑपरेशन्स अनइंटरप्टिबल नहीं हैं। जब मेमोरी साझा की जाती है, तो कई थ्रेड्स मेमोरी में मौजूद डेटा को पढ़ या लिख सकते हैं। इसलिए यदि कोई डेटा बदल गया, तो डेटा की हानि होगी। एटॉमिक ऑपरेशन्स सुनिश्चित करते हैं कि अनुमानित मान (डेटा) सटीक रूप से लिखे और पढ़े जाएं। एटॉमिक ऑपरेशन्स तब तक शुरू नहीं होंगे जब तक कि वर्तमान ऑपरेशन समाप्त न हो जाए, इसलिए मौजूदा डेटा को बदलने का कोई तरीका नहीं है।
अब, Atomics मेथड्स में से एक पर चर्चा करते हैं।
Atomics.add()
Atomics.Add() का उपयोग सरणी में दिए गए स्थान पर दिए गए मान को जोड़ने और उस स्थान पर पुराना मान लौटाने के लिए किया जाता है। चूंकि कोई इंटरप्शन अनुमत नहीं है, कोई अन्य राइट फंक्शन तब तक नहीं हो सकता जब तक कि संशोधित मान वापस नहीं आ जाता।
सिंटैक्स
Atomics.add(typedArray, index, value)
पैरामीटर्स
typedArray
यह एक साझा सरणी इंटीजर है जिसे हम संशोधित करने जा रहे हैं।
Index
सरणी में वह इंडेक्स जहां हम एक नया मान जोड़ने जा रहे हैं।
value
यह वह संख्या है जिसे हम जोड़ने जा रहे हैं।
रिटर्न किया गया मान
Atomics.add() दिए गए स्थान (typedArray[index]) पर पुराना मान लौटाता है।
उदाहरण
<html> <body> <script type="text/javascript"> <!-- creating a SharedArrayBuffer --> // creating a SharedArrayBuffer var buffer = new SharedArrayBuffer(25); var arr = new Uint8Array(buffer); // सरणी के शून्यवें स्थान पर तत्व को 6 से आरंभ करना arr[0] = 6; // Atomics.add() मेथड के रिटर्न मान को प्रदर्शित करना document.write(Atomics.add(arr, 0, 2)); document.write("</br>"); // अपडेटेड SharedArrayBuffer प्रदर्शित करना document.write(Atomics.load(arr, 0)); </script> </body> </html>
आउटपुट
6 8