【问题标题】:Run two operations atomically原子地运行两个操作
【发布时间】:2020-05-27 16:00:30
【问题描述】:

我目前正在尝试使用 android studio,但遇到了一个小问题。我有几段代码尝试一次做两件事。一个这样的例子是这样的:

  1. 从远程数据库中删除一个对象。
  2. 从本地数据库中删除相同的对象。

这两个操作都在它们自己的线程上运行。但是,我想确保我以原子方式执行这两个操作。也许用户失去了互联网连接,应用程序设法从本地数据库中删除了对象,但没有从远程数据库中删除。我想确保这种情况不会发生。有没有办法做到这一点?

【问题讨论】:

    标签: java database android-studio concurrency


    【解决方案1】:

    [1] 先从远程数据库中删除对象。

    之后,检查它是否被删除。

    如果是,请将其从远程数据库中删除。 如果没有,请不要删除它。

    [2] 在继续删除之前检查设备是否已连接到互联网。

    我个人更喜欢第一种方法。

    【讨论】:

    • 对不起。我认为第一行有错字。因为你写了两次远程数据库。那应该行得通。虽然如果我可以避免做更多的操作,我会更喜欢它。此方法要求我再次检查数据库。
    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 2020-12-13
    • 2021-07-11
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多