如果我使用CacheStorage.open()
在UI线程中获得与工作线程中相同的Cache
,并在两端开始对其进行读写,这样安全吗?或者会有竞争条件吗?我希望Cache API是线程安全的(我假设它是线程安全的,就像JS中的所有其他东西一样)。
发布于 2018-12-20 05:57:43
安全吗?
是。所有方法都返回Promise,因为Cache可能由另一个线程管理,如果另一个线程执行该操作,则Promise将被解析。不可能有并发修改或其他类似奇怪的事情。
或者会有竞争条件吗?
只要有多个线程,就会有竞争条件,这是事情的本质。这意味着,如果您在尝试检索缓存条目时对其执行add()
操作,那么从另一个WebWorker并行执行的get()
可能会也可能不会得到结果。
https://stackoverflow.com/questions/53859639
复制相似问题