Это самый краткий и полезный обзор многопоточности с SQLite, который я могу найти где угодно. Очень полезно, спасибо.

у приложение на iOS, которое использует sqlite3, завернутый в fmdatabase. Я сталкиваюсь с проблемой, что в какой-то момент моя программа застряла в цикле внутри библиотек FMDatabase, в частности, функции, которая вызывает sqlite3_step и обнаруживает, что база данных занята, а затем повторяет попытку снова и снова.

Я ищу общие инструменты и советы по отладке, так как здесь будет слишком много, чтобы дать всю мою настройку. Некоторые вещи, которые могут иметь значение, я открыл дескриптор базы данных для базы данных, которая уже имеет дескриптор в другом потоке. sqlite3_threadsafe () возвращает 2, поэтому я знаю, что он включен. Я также проверил это новое соединение, сделав очень простое утверждение выбора и обновления. Когда я запускаю свою программу и пытаюсь запустить обновление базы данных, я застреваю.

Оператор update, созданный моей программой, не виноват, потому что этот запрос работает нормально, когда я НЕ открываю два соединения. Тем не менее, я не вижу, где я могу пойти не так ...

Любая помощь или советы о том, где я могу ошибаться, будет принята с благодарностью.

Ответы на вопрос(1)

Ваш ответ на вопрос