Skip to Content
JavaScript
book

JavaScript

by T. J. Crowder
July 2020
Intermediate to advanced content levelIntermediate to advanced
608 pages
15h 43m
English
Wrox
Content preview from JavaScript

16Shared Memory

In this chapter, you'll learn about JavaScript's shared memory feature (in ES2017+), allowing memory to be shared between threads, and the Atomics object you can use to perform low-level shared memory operations and to suspend and resume threads based on events in shared memory.

INTRODUCTION

For most of the decade or so that JavaScript on browsers hasn't been single-threaded (thanks to web workers), there was no way to share memory across threads in the browser. Initially, threads could post messages to each other with data in them, but the data was copied. When it's a lot of data, or it has to be sent back and forth a lot, that's a problem. A few years later when typed arrays (Chapter 11) were defined, originally outside JavaScript and then added to ES2015, in many cases it became possible to transfer data from one thread to another without copying it, but the sending thread had to give up access to the data being sent.

ES2017 changed that with SharedArrayBuffer. With a SharedArrayBuffer, JavaScript code running in one thread can share memory with JavaScript code running on another thread.

Before getting into how shared memory works in JavaScript, let's explore the question of whether you really ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Advanced JavaScript

Advanced JavaScript

Zachary Shute

Publisher Resources

ISBN: 9781119367956Purchase book