Skip to content

Commit

Permalink
[ko] JavaScript: Atomics.sub(), isLockFree() 추가 (#12435)
Browse files Browse the repository at this point in the history
- Atomics.sub() 추가
- Atomics.isLockFree() 추가
  • Loading branch information
wisedog authored Apr 20, 2023
1 parent ae51990 commit 129bb8c
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: Atomics.isLockFree()
slug: Web/JavaScript/Reference/Global_Objects/Atomics/isLockFree
l10n:
sourceCommit: 194d3e00cb93a6e5ea44812548f4131cb17f0381
---

{{JSRef}}

**`Atomics.isLockFree()`** 정적 메서드는 지정된 요소 바이트 크기를 가진 유형화 배열에 적용될 때
`Atomics` 메서드가 잠금을 사용할지 아니면 아토믹 하드웨어 연산을 사용할지 결정하는 데 사용됩니다.
주어진 크기가 정수 타입의 형식화 배열의 [BYTES_PER_ELEMENT](/ko/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT)
속성 중 하나가 아닌 경우 `false`를 반환합니다.

{{EmbedInteractiveExample("pages/js/atomics-islockfree.html")}}

## 구문

```js-nolint
Atomics.isLockFree(size)
```

### 매개변수

- `size`
- : 검사할 바이트 크기

### 반환 값

해당 연산이 락이 걸렸는지 여부를 가리키는 `true` 혹은 `false`

## 예제

### isLockFree 사용하기

```js
Atomics.isLockFree(1); // true
Atomics.isLockFree(2); // true
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true
Atomics.isLockFree(5); // false
Atomics.isLockFree(6); // false
Atomics.isLockFree(7); // false
Atomics.isLockFree(8); // true
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}

## 같이 보기

- {{jsxref("Atomics")}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: Atomics.sub()
slug: Web/JavaScript/Reference/Global_Objects/Atomics/sub
l10n:
sourceCommit: 194d3e00cb93a6e5ea44812548f4131cb17f0381
---

{{JSRef}}

**`Atomics.sub()`** 정적 메서드는 배열에서 주어진 위치에 주어진 값으로 빼기 연산을 수행하고
해당 포지션의 기존 값을 반환합니다. 이 아토믹 연산은 수정된 값이 쓰이기 전까지 다른 쓰기 연산이 일어나지 않음을 보장합니다.

{{EmbedInteractiveExample("pages/js/atomics-sub.html")}}

## 구문

```js-nolint
Atomics.sub(typedArray, index, value)
```

### 매개변수

- `typedArray`
- : 정수형 형식화 배열. {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}},
{{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}},
{{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}},
{{jsxref("BigUint64Array")}} 중 하나.
- `index`
- : `value`를 차감할 `typedArray`의 인덱스입니다.
- `value`
- : 차감할 값(숫자)입니다.

### 반환 값

주어진 위치(`typedArray[index]`)의 예전 값.

### 예외

- `typedArray`가 허용된 정수형이 아닐 경우 {{jsxref("TypeError")}}가 발생합니다.
- `index``typedArray`의 범위를 벗어날 경우 {{jsxref("RangeError")}}가 발생합니다.

## 예제

### sub 사용하기

```js
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 48;
Atomics.sub(ta, 0, 12); // 이전 값 48을 반환합니다.
Atomics.load(ta, 0); // 36
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}

## 같이 보기

- {{jsxref("Atomics")}}
- {{jsxref("Atomics.add()")}}

0 comments on commit 129bb8c

Please sign in to comment.