Skip to content
阅读进度

如何在 DataStore 中实现原子性更新操作? ​

返回 数据与搜索 目录

标准回答 ​

Proto DataStore 用 updateData,在同一原子更新中基于旧对象生成新对象;Preferences DataStore 用 edit 修改配置。不要先单独读取旧值、稍后再无条件写回,否则会把并发更新覆盖掉。

通俗例子 ​

两处同时把计数加一,若各自读到 5 再写 6,会少加一次;在同一个 updateData 或 edit 更新流程里计算,可避免这种竞争。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。