This entire chapter has been focused on offloading tasks from the main thread to other threads of work. We have looked at dedicated workers that only a single page has. We have then taken a look at how we can broadcast messages between multiple workers without having to loop through the respective ports.
Then we saw how we can share a worker on the same domain utilizing SharedWorker and also looked at how we can share a data source utilizing SharedArrayBuffer. Finally, we took a practical look at creating a shared cache that anyone has access to.
In the next chapter, we will take this concept of caching and handling requests one step further by utilizing ServiceWorker.