Zum Inhalt springen
uencoder

SharedArrayBuffer

SharedArrayBuffer lässt einen Worker und den Haupt-Thread denselben Speicherbereich ohne Kopie teilen, erfordert aber ursprungsübergreifende Isolation (COOP+COEP) gegen Spectre.

Zweck

Großen Speicher Workers-übergreifend ohne Kopie teilen und zugleich mittels Ursprungs-isolierung Spectre-Seitenkanäle verhindern.

Mechanismus

new SharedArrayBuffer(size) erzeugt gemeinsamen Speicher, der per postMessage (transferable) übergeben wird. Atomics stellt atomare Operationen bereit. Seit Spectre ist crossOriginIsolated erforderlich (COOP same-origin + COEP require-corp).

Anwendungsfälle

  • Nullkopie-Gemeinschaftsspeicher mit Workern
  • WASM-Threading
  • Hochleistungsrechnen

Verwandte Tools

References