Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 Atomics의 용도는 무엇입니까?

<시간/>

원자

원자 정적 메서드로 수행할 원자적 작업을 제공하는 JavaScript의 개체입니다. 수학 방법과 마찬가지로 개체, Atomic 의 메서드 및 속성 또한 정적입니다. 원자 SharedArrayBuffer 와 함께 사용됩니다. 개체.

아트로믹 작업은 Atomic Module에 설치됩니다. . 다른 전역 개체와 달리 원자 생성자가 아닙니다. . 원자 새 연산자와 함께 사용할 수 없습니다. 또는 함수로 호출될 수 있습니다.

원자적 연산

원자 작업은 무중단이 아닙니다. . 메모리가 공유되면 여러 스레드가 메모리에 존재하는 데이터를 읽거나 쓸 수 있습니다. 따라서 데이터가 변경되면 데이터가 손실됩니다. Atomic 연산은 예측된 값(데이터)이 정확하게 쓰여지고 읽도록 합니다. 현재 작업이 완료될 때까지 원자적 작업은 시작되지 않으므로 기존 데이터를 변경할 수 있는 방법이 없습니다.

이제 Automics 중 하나에 대해 논의해 보겠습니다. 방법.

Atomics.add()

Atomics.Add() 배열의 주어진 위치에 주어진 값을 추가하고 해당 위치의 이전 값을 반환하는 데 사용됩니다. 인터럽트가 허용되지 않으므로 수정된 값이 반환될 때까지 다른 쓰기 기능이 발생할 수 없습니다.

구문

Atomics.add(typedArray, index, value)

매개변수

유형이 지정된 배열

수정할 공유 배열 정수입니다.

색인

새 값을 추가할 배열의 인덱스입니다.

우리가 더할 숫자에 불과합니다.

반환된 값

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