Android: уровни изоляции транзакций SQLite (ORMLite)

Я использую ORMLite в своем Android-проекте. Я знаю, что Sqlite позаботится о блокировке файлового уровня. Многие потоки могут читать, можно писать. Блокировки предотвращают более одной записи. Кто-нибудь может объяснить, что произойдет, если один поток обновляет какую-то запись, а другой поток пытается прочитать эту запись? Получит ли поток (который пытается прочитать) устаревшие данные? Или он будет заблокирован до тех пор, пока первый поток не завершит свою операцию записи? Насколько я знаю, существует 4 уровня изоляции транзакции: сериализуемый, повторяющееся чтение, чтение подтверждено, чтение незафиксировано. И есть ли способ изменить его в SQLite или ORMLite?

5
задан Gray 12 October 2011 в 12:25
поделиться