If you want to know why Service Workers are "little used" this article explains why -- in theory you could do all sorts of things with service workers but it is awkward coding and a lot of work.<p>Some say that Service Workers are "threadsafe" because they never share objects, they copy or transfer ownership.<p>You still have "concurrency" problems because the Service Worker is part of a distributed system where there is state on the client and in the service worker and in the workers that the service worker runs to subdivide the work, and on the back-end server, etc.<p>It is one thing to make it correct, it is another thing to make it really perform better than the status quo.