cookie是否在浏览器中读/写原子

Sun*_*wal 15 javascript concurrency html5

我正在尝试为我的需求实现交叉表互斥.我在这里找到了一个实现.这似乎很有希望.基本上,它实现了Leslie Lamport的算法,需要原子读/写来创建互斥锁.

但是它依赖于提供原子读/写的localStorage.这适用于除Chrome以外的大多数浏览器.

所以我的问题是,我可以使用cookie读/写吗?在所有主流浏览器(IE,Chrome,Safari,Firefox)中,cookie是否读/写原子?

Use*_*ode 5

既不是cookie,也不localStorage提供原子事务.

我想你可能误解了这篇博文,但并没有说他的实现在Chrome中不起作用localStorage,它不依赖于提供原子读/写.他说正常 localStorage访问在Chrome中更不稳定.我假设这与Chrome为每个选项卡使用单独的进程这一事实有关,而大多数其他浏览器倾向于对所有选项卡使用单个进程.他的代码实现了一个锁定系统,在localStorage其上应该防止被覆盖的东西.

另一种解决方案是使用IndexedDB.IndexedDB 确实提供原子事务.作为一种新标准,它在许多浏览器localStorage中都不受支持,但它在Firefox,Chrome和IE10的最新版本中确实得到了很好的支持.