Web Locks API
API del browser per coordinare sezioni critiche tra schede e worker della stessa origine: un mutex che non vive in una singola scheda.
L'API è minima: navigator.locks.request('name', async lock => {...}). Supporta le modalità esclusiva e condivisa, «ifAvailable» non bloccante e un flag steal che sottrae il lock a una scheda morta. Il lock viene rilasciato automaticamente quando la promise della callback si risolve.
Casi d'uso: evitare race condition tra due schede che scrivono su IndexedDB, sincronizzazione in background coordinata, «leader election» tra schede. Stabile dal 2020 in Chrome/Edge/Firefox, Safari 15.4+.