1

如果我在 UI 线程中使用与 Worker 线程中CacheStorage.open()相同Cache的内容,并开始从两侧读取/写入它,是否安全?或者可能有竞争条件?我希望 Cache API 是线程安全的(我会假设它是,就像 JS 中的所有其他内容一样)。

4

1 回答 1

0

安全吗?

是的。所有方法都返回 Promises,因为 Cache 可能由另一个线程管理,如果另一个线程执行了操作,则 Promise 然后解析。不能同时进行修改或其他此类奇怪的事情。

或者可能有竞争条件?

只要有多个线程,就会有竞争条件,这是事物的本质。这意味着,如果您add()在尝试get()从另一个 WebWorker 并行检索缓存条目时可能会或可能不会得到结果。

于 2018-12-19T21:57:42.723 回答