Выполнить две операции атомарно - PullRequest
0 голосов
/ 27 мая 2020

Я сейчас экспериментирую со студией android, и у меня возникла небольшая проблема. У меня есть несколько фрагментов кода, в которых я пытаюсь делать две вещи одновременно. Один из таких примеров:

  1. Удалить объект из удаленной базы данных.
  2. Удалить тот же объект из локальной базы данных.

Выполняются обе операции по собственной нити. Однако я хотел бы убедиться, что выполняю эти две операции атомарно. Возможно, пользователь теряет соединение inte rnet, и приложению удаётся удалить объект из локальной базы данных, но не из удаленной базы данных. Хочу убедиться, что этого не произойдет. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 27 мая 2020

[1] Сначала удалите объект из удаленной базы данных.

После этого проверьте, удален он или нет.

Если да, удалите его из удаленной базы данных. Если нет, не удаляйте его.

[2] Перед тем, как продолжить удаление, проверьте, подключено ли устройство к inte rnet.

Лично я предпочел бы первый метод.

...