อะตอม
อะตอม เป็นอ็อบเจ็กต์ใน JavaScript ที่ให้การดำเนินการอะตอมมิกที่จะดำเนินการเป็นเมธอดแบบคงที่ เช่นเดียวกับวิธีการของ คณิตศาสตร์ วัตถุ วิธีการ และคุณสมบัติของ อะตอม ยังเป็นแบบคงที่ อะตอม ใช้กับ SharedArrayBuffer วัตถุ
อะตอม การดำเนินการได้รับการติดตั้งใน Atomics Module . ไม่เหมือนกับวัตถุระดับโลกอื่น ๆ อะตอม ไม่ใช่ คอนสตรัคเตอร์ . อะตอม ไม่สามารถใช้กับโอเปอเรเตอร์ใหม่ หรือจะเรียกเป็นฟังก์ชันก็ได้
การทำงานของอะตอม
อะตอม การดำเนินงานไม่ ต่อเนื่อง . เมื่อมีการแชร์หน่วยความจำ เธรดหลายเธรดสามารถอ่านหรือเขียนข้อมูลที่มีอยู่ในหน่วยความจำได้ ดังนั้นหากมีการเปลี่ยนแปลงข้อมูลใด ๆ ก็จะสูญเสียข้อมูล Atomic การดำเนินการตรวจสอบให้แน่ใจว่าค่าที่คาดการณ์ (ข้อมูล) ถูกเขียนและอ่านอย่างถูกต้อง การทำงานของอะตอมมิกจะไม่เริ่มต้นจนกว่าและเว้นแต่การดำเนินการปัจจุบันจะเสร็จสิ้น ดังนั้นจึงไม่มีทางเปลี่ยนแปลงข้อมูลที่มีอยู่ได้
ตอนนี้ เรามาพูดถึงAutomics วิธีการ
Atomics.add()
Atomics.Add() ใช้เพื่อเพิ่มค่าที่กำหนดในตำแหน่งที่กำหนดในอาร์เรย์และส่งกลับค่าเดิมที่ตำแหน่งนั้น เนื่องจากไม่อนุญาตให้มีการหยุดชะงัก จึงไม่มีฟังก์ชันการเขียนอื่นเกิดขึ้นจนกว่าค่าที่แก้ไขจะถูกส่งคืน
ไวยากรณ์
Atomics.add(typedArray, index, value)
พารามิเตอร์
typedArray
เป็นจำนวนเต็มอาร์เรย์ที่ใช้ร่วมกันที่เราจะแก้ไข
ดัชนี
ดัชนีในอาร์เรย์ที่เราจะเพิ่มค่าใหม่
ค่า
ไม่มีอะไรนอกจากตัวเลขที่เราจะเพิ่ม
ค่าที่ส่งคืน
Atomics.add() ส่งคืนค่าเก่าในตำแหน่งที่กำหนด (typedArray[index])
ตัวอย่าง
<html> <body> <script type="text/javascript"> // creating a SharedArrayBuffer var buffer = new SharedArrayBuffer(25); var arr = new Uint8Array(buffer); // Initialising element at zeroth position of array with 6 arr[0] = 6; // Displaying the return value of the Atomics.add() method document.write(Atomics.add(arr, 0, 2)); document.write("</br>"); // Displaying the updated SharedArrayBuffer document.write(Atomics.load(arr, 0)); </script> </body> </html>
ผลลัพธ์
6 8