ExpertiDict

JavaScript · Avançado · Inglês · Técnico

SharedArrayBuffer

/ˈʃɛɹd əˈɹeɪ ˈbʌfɚ/substantivo

Bloco de memória binária que pode ser compartilhado entre a thread principal e workers, sem cópia. Dois contextos enxergam os mesmos bytes, o que exige Atomics para evitar corridas.

Onde usar

Aparece em processamento paralelo pesado, como imagens e WebAssembly com threads. No navegador exige isolamento de origem, com os cabeçalhos COOP e COEP, e no Node funciona com worker_threads.

Em código

const sab = new SharedArrayBuffer(4);
const v = new Int32Array(sab);
Atomics.add(v, 0, 5);
console.log(v[0]); // 5

Exemplos

Both workers see the same bytes in a SharedArrayBuffer.

Os dois workers enxergam os mesmos bytes num SharedArrayBuffer.

In the browser, SharedArrayBuffer needs cross-origin isolation.

No navegador, o SharedArrayBuffer exige isolamento de origem.

Cuidado

Ler e escrever os mesmos índices a partir de dois workers sem Atomics, gerando condição de corrida.

Sinônimos

memória compartilhada

Antônimos

ArrayBuffer

Veja também

Todos os termos de JavaScript