Chapter 1. Overview
Modern web applications would often run better if there was a way to perform heavy calculations in the background instead of making the user interface wait for them to complete. The Web Workers specification[1] defines an API for running computationally intensive code in a thread other than the web application user interface. Long tasks can run without affecting your interface’s memory and CPU footprint because the Worker will live in its own thread.
Multi-threaded programing is a complicated subject well stocked with complex algorithms and theoretical discussion. You can find other languages (e.g., Java) that give their developers a library to mask some of the complexity[2]. The good news is that Web Workers provides a nice and simple API that lets you be very productive without worrying too much about deadlocks and similar problems.
Web Workers promises to end the unfriendly “unresponsive script” dialogs like the ones shown in Figure 1-1 and Figure 1-2.

Figure 1-1. The warning dialog for “unresponsive script” in Windows

Figure 1-2. The warning dialog for “unresponsive script” in MacOS
What Can Web Workers Do?
If your web application needs to complete a task that takes more than 150 milliseconds, you should consider using a Web Worker. If your app needs to feel like a ...
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.
Read now
Unlock full access