Я не совсем понимаю правильную схему использования транзакций SQLite в Android.
Допустим, метод А запускает транзакцию.Во время выполнения транзакции другой метод B попытается выполнить транзакцию в той же таблице (возможно, в той же строке).
Что произойдет?
Будет ли метод B "ждать"пока метод А не завершит транзакцию, а затем выполнит транзакцию?Или произойдет сбой преобразования метода B?
Как мне правильно с этим справиться?
Точнее:
- Метод A должен запрашивать (внутри транзакции), если определенная строка уже существует, и если да, вернуть строку, если эта определенная строка еще не существует, она должна вставить эту строку и вернуть вновь вставленную строку.
- Метод B должен запросить (внутри транзакции), если определенная строка уже существует, обновите эту строку, если строка еще не существует, метод B должен вставить эту строку.
Идея состоит в том, чтобы убедиться, что, независимо от того,какой метод сначала выполняется, чтобы либо вставить, либо обновить эту конкретную строку, я даже не уверен, можно ли это сделать на уровне транзакций SQLite, или мне нужно синхронизировать методы в Java?
Если да, может ли кто-нибудь опубликовать пример, как такая синхронизация должна быть закодирована в Java?