使用 IndexedDB 在 Isolate 之间共享内存

Sal*_*gat 5 web-worker dart dart-isolates

我现在正在使用 Isolates,想知道使用 IndexedDB 在 Isolates 之间共享数据是否是一种很好的通信方式?具体来说,我希望一个 Isolate 能够写入它,然后告诉其他 Isolate 他们可以只读它。这些数据一旦写入就被认为是不变的,而且相当大。我想这样做的主要原因是因为我不想将 6MB 的地图发送到 3 个不同的隔离区,因为它对程序来说有点密集。

Gün*_*uer 1

如果您想将数据存储在 IndexedDB 中,这没问题。如果您这样做只是为了优化通信,我不认为这比直接发送有任何改进。序列化/反序列化通常是 CPU 最密集的部分。使用 IndexedDB 还可以向慢速磁盘写入一次并读取 3 次。