Atómica - método exchange ()
exchangeEl método intercambia un valor dado en una posición dada de una matriz. Devuelve el valor anterior en esa posición. Esta operación atómica garantiza que no se pueda realizar ninguna otra escritura hasta que se vuelva a escribir el valor modificado.
Sintaxis
Atomics.exchange(typedArray, index, value)
Parámetros
typedArray es la matriz de tipo entero.
index es posición en typedarray.
value a cambio.
Regreso
Devuelve el valor antiguo en la posición dada.
Excepciones
TypeError en caso de que la matriz pasada no sea una matriz de tipo entero.
RangeError si el índice pasado está fuera del límite en la matriz con tipo.
Ejemplo
A continuación se muestra el código para implementar JavaScript Atomics:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Atomics Example</title>
<style>
.result {
font-size: 20px;
border: 1px solid black;
}
</style>
</head>
<body onLoad="operate();">
<h1>JavaScript Atomics Properties</h1>
<div class="result"></div>
<p>Atomics.exchange(arr, 0, 2)</p>
<p>Atomics.load(arr, 0)</p>
<script>
function operate(){
let container = document.querySelector(".result");
// create a SharedArrayBuffer
var buffer = new SharedArrayBuffer(25);
var arr = new Uint8Array(buffer);
// Initialise element at zeroth position of array with 6
arr[0] = 6;
container.innerHTML = Atomics.exchange(arr, 0, 2) + '<br/>' + Atomics.load(arr, 0);
}
</script>
</body>
</html>
Salida
Verifique el resultado.