Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/shared-array-buffer

Что такое `SharedArrayBuffer` и `Atomics`?

УглублённыйУправление памятью
  • SharedArrayBuffer — буфер памяти, разделяемый между главным потоком и Web Workers
  • В отличие от обычного ArrayBuffer, не копируется при передаче в Worker — оба потока работают с одной памятью
  • Atomics — объект с атомарными операциями для безопасного доступа к разделяемой памяти:
    1. Atomics.load(arr, index) / Atomics.store(arr, index, value) — атомарное чтение/запись
    2. Atomics.add/sub/and/or/xor — атомарные арифметические и битовые операции
    3. Atomics.wait(arr, index, value) — блокирует поток до изменения значения
    4. Atomics.notify(arr, index, count) — пробуждает ожидающие потоки
    5. Atomics.compareExchange(arr, index, expected, replacement) — CAS-операция
  • Требует заголовки Cross-Origin-Isolation (COOP + COEP) в браузере
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov