【ウェブロックスエーピーアイ】
Web Locks API とは?
💡 ブラウザのタブ同士が「今、使ってるから待って!」と言い合える仕組み
📌 このページのポイント
- 複数タブやService Workerが同じリソースにアクセスするときの競合を防ぐ
- navigator.locks.request() で名前付きロックを取得・解放する
- 排他ロック(exclusive)と共有ロック(shared)の2種類がある
- IndexedDBやキャッシュの整合性を保つのに特に有効
Web Locks APIって何に使うの?ロックってことは鍵をかけるの?
タブ同士って会話できるの?
直接会話するわけじゃないけど、ブラウザが「ロックマネージャー」として間に入るんだ。タブAがロックを取得したら、タブBは自動的に待たされて、Aが終わったら順番が回ってくる仕組みだよ
どういう場面で必要になるのかな?
IndexedDBに書き込むときや、Service Workerとページが同じキャッシュを更新するときに便利だよ。排他ロック(exclusive)を使えば1つだけがアクセスでき、共有ロック(shared)なら読み取りは同時にできるんだ
排他ロックと共有ロック、データベースみたいだね!
📖 おまけ:英語の意味
「Web Locks API」 = ウェブロックAPI
💬 Lock(鍵・錠前)のように、リソースを「施錠」して他からアクセスできなくする仕組みだよ