Ответ
Фантомное чтение (Phantom read) — это ситуация, когда транзакция повторно выполняет запрос и получает дополнительные строки, которые были добавлены другой транзакцией после первого чтения.
Пример в SQL:
-- Транзакция 1
BEGIN TRANSACTION;
SELECT * FROM users WHERE age > 20; -- Допустим, вернуло 5 строк
-- Транзакция 2 (параллельно)
INSERT INTO users (name, age) VALUES ('New User', 25);
-- Транзакция 1 повторяет запрос
SELECT * FROM users WHERE age > 20; -- Теперь вернет 6 строк
COMMIT;
В Android это может проявляться при работе с Room или SQLite, если не использовать правильный уровень изоляции (REPEATABLE READ или SERIALIZABLE).