The capabilities and expectations of JavaScript and web applications are expanding every day. One of the most exciting areas this expansion has led to is parallel programming, which is related to, but not synonymous with, asynchronous and concurrent programming. Parallel programming allows for multiple operations to take place simultaneously rather than interleaving them.
This distinction may seem small, but it is quite significant. In this chapter, we will see how to use the facilities available on the web platform to create programs that execute in parallel. Web Workers will be used to create parallel jobs, SharedMemoryBuffer to share information, and the Atomic API to coordinate between them.