Web Workers

let worker = new Worker("worker.js") //file run on worker thread
worker.addEventListener("message", ({data}) => {
	log(data)
	worker.terminate()
})
worker.postMessage('hello worker')

//worker.js
addEventListener("message", () => { postMessage("Hello")})

Shared Workers

const worker = new SharedWorker("worker.js");
worker.port.start()
worker.port.postMessage({ x : 3, y : 2});

//worker.js
addEventListener("connect", (e) => {
  const port = e.ports[0];
  port.start()
  port.onmessage = (e) => console.log(e.data)
})

Service Workers