ECMAScript 2017

Gemeinsam verwendeter Speicher

Paralleler Zugriff auf Speicher

Dieses neues Feature fügt ECMAScript eine Low-level-Lösung für den parallelen Zugriff auf Speicher (shared memory) und die Möglichkeit, kritische Codeabschnitte zu schützen, hinzu. Dafür wird ein spezieller SharedArrayBuffer-Typ und das Atomics-Objekt eingeführt. Letzteres stellt atomare Operationen als statische Methoden bereit, um mit SharedArrayBuffer-Objekten arbeiten zu können.

Die Methoden Atomics.wait und Atomics.notify sind dem Linuxkonzept eines Futex nachempfunden: Sie bieten die Möglichkeit zu warten, bis eine bestimmte Bedingung wahr ist und sind dadurch blockierende Konstrukte. Da sie, anders als ein Mutex, im Userspace und nicht im Kernelspace stattfinden, sind sie für die Synchronisation von Threads eines Prozesses geeignet.