Atomics - metodo exchange ()

exchangemetodo scambia un dato valore in una data posizione di un array. Restituisce il vecchio valore in quella posizione. Questa operazione atomica garantisce che nessun'altra scrittura possa avvenire fino a quando il valore modificato non viene riscritto.

Sintassi

Atomics.exchange(typedArray, index, value)

Parametri

  • typedArray è l'array intero digitato.

  • index è la posizione in typedarray.

  • value scambiare.

Ritorno

Restituisce il vecchio valore in una data posizione.

Eccezioni

  • TypeError nel caso in cui l'array passato non sia un array di tipo intero.

  • RangeError se l'indice passato è fuori limite nell'array digitato.

Esempio

Di seguito è riportato il codice per l'implementazione di 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>

Produzione

Verifica il risultato.