How we built it

Shared Array Buffers, Atomics and Futex APIs

Adds a new JavaScript type SharedArrayBuffer. SharedArrayBuffers can be sent to Workers and without neutering the sent buffer. The underlying buffer will be shared between the workers. The Atomic API provides atomic loads and stores and Read/Modify/Write accesses to SharedArrayBuffers. The Futex API provides the ability for a worker to wait for another worker to signal it, without having to spin-loop.

Comments

This is currently (as of Apr 17 2015) implemented in Firefox Nightly. It has a primary use case for asm.js code, but is also useful for implementing other higher-level sharing between Workers. See https://blog.mozilla.org/javascript/2015/02/26/the-path-to-parallel-javascript/ for some discussion of the possibilities.

Demo

Specification

Working draft or equivalent

Status in Chromium

In development

Consensus & Standardization

  • In development
  • No public signals
  • No public signals
  • No signals

Owners

Last updated on 2016-03-22