Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Atomics ใน JavaScript ใช้ทำอะไร

Atomics

Atomics เป็นออบเจ็กต์ใน JavaScript ที่ให้ atomic operations เป็น static methods คล้ายกับเมธอดของ Math ใช้ร่วมกับ SharedArrayBuffer

Atomics ไม่ใช่ constructor ไม่สามารถใช้กับ new operator หรือเรียกเป็นฟังก์ชันได้

Atomic Operations

Atomic operations เป็น operations ที่ ไม่ถูกขัดจังหวะ (uninterruptible) เมื่อ memory ถูกแชร์ หลาย thread อาจ read/write ข้อมูลเดียวกัน Atomic operations รับประกันว่าเขียนและอ่านค่าที่คาดหวังได้ถูกต้อง จะไม่เริ่ม operation ใหม่จนกว่า operation ปัจจุบันจะเสร็จ

Atomics.add()

Atomics.add() เพิ่มค่าที่กำหนดที่ตำแหน่งที่กำหนดในอาร์เรย์ และคืนค่าเก่าที่ตำแหน่งนั้น ไม่มี interruption อนุญาต จึงไม่มี write อื่นแทรกได้จนคืนค่าแล้ว

รูปแบบ

Atomics.add(typedArray, index, value)

พารามิเตอร์

  • typedArray - shared integer array ที่จะแก้ไข
  • index - ตำแหน่งในอาร์เรย์ที่จะเพิ่มค่า
  • value - จำนวนที่จะเพิ่ม

ค่าที่คืน

คืนค่าเก่าที่ตำแหน่งนั้น (typedArray[index])

ตัวอย่าง

<html> <body> <script type="text/javascript"> 
    // สร้าง SharedArrayBuffer 
    var buffer = new SharedArrayBuffer(25); 
    var arr = new Uint8Array(buffer); 
    // กำหนดค่าที่ index 0 เป็น 6 
    arr[0] = 6; 
    // แสดงค่าที่คืนจาก Atomics.add() 
    document.write(Atomics.add(arr, 0, 2)); 
    document.write("<br>"); 
    // แสดงค่าที่อัปเดตแล้ว 
    document.write(Atomics.load(arr, 0)); 
</script> </body> </html>

ผลลัพธ์

6 8