Я использую SQLite3 во встроенной системе и на x86 в приложении Qt. Я испытываю общую ошибку «База данных заблокирована», когда несколько потоков пытаются прочитать / записать базу данных.
Я прочитал эту статью , предложенную в некоторых других ответах, но я создаю отдельное соединение для каждой темы.
Путем небольшого изменения параметра QSQLITE_BUSY_TIMEOUT (для очень большого значения: 10000000) я решил эту проблему в системе x86 и во встроенной системе, но в последнем случае только тогда, когда транзакции не используются. К сожалению, мне нужно использовать транзакции для всей работы каждого потока.
Мой вопрос: не поддерживается ли SQLite3 для чтения / записи из / в базу данных одновременно при использовании транзакций? Почему он просто не ждет все необходимое время, чтобы получить замок? Может быть, я неправильно настроил?