Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การใช้ Atomics ใน JavaScript คืออะไร?


อะตอม

อะตอม เป็นอ็อบเจ็กต์ใน 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