Entre las operaciones atómicas, hay una operación incorporada Atomics.notify() en JavaScript que se usa para notificar a algunos agentes que están durmiendo en la cola de espera. El método Atomics.notify() devuelve una cantidad de agentes activados. La array de tipo entero, el índice y el recuento se pasan como argumento a la función.
Sintaxis:
Atomics.notify(typedArray, index, count)
Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- typedarray: este parámetro especifica una array de tipo entero compartido Int16Array.
- index: este parámetro especifica la posición en la array, typedArray para esperar.
- count: este parámetro cuenta el número de agentes durmientes para notificar. Su valor predeterminado es +Infinito.
Valor devuelto: El método Atomics.notify() devuelve el número de agentes activados.
Los siguientes programas ilustran el método Atomics.notify() en JavaScript:
Programa 1:
javascript
const sab = new SharedArrayBuffer(1024); const int32 = new Int32Array(sab); int32[0] = 77; console.log(int32[0]); console.log(Atomics.store(int32, 0, 123)); console.log(Atomics.notify(int32, 0, 1));
Producción:
77 123 0
Programa 2:
javascript
const sab = new SharedArrayBuffer(1024); const int32 = new Int32Array(sab); int32[0] = 77; console.log(Atomics.load(int32, 66)); console.log(int32[0]); console.log(Atomics.store(int32, 0, 123)); console.log(Atomics.notify(int32, 6, 1)); console.log(int32[0]);
Producción:
0 77 123 0 123
Excepciones:
- Si typedArray no es un Int32Array compartido, la operación Atomics.notify( ) arroja un TypeError.
- Si el índice utilizado como argumento para la operación Atomics.notify() está fuera del límite en typedArray, entonces la operación Atomics.store() arroja un RangeError.
Navegador compatible:
- Google Chrome
- Borde de Microsoft
- Firefox
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA