Моя база данных Sqlite доступна из различных потоков в моем коде, из-за чего у меня возникает много проблем с блокировкой базы данных.
Чтобы преодолеть проблему блокировки, я запрашиваю БД только в основном потоке.Недостатком этого является то, что мой основной поток занят, если выполняется много запросов.
Я хочу написать механизм, в котором все вызовы БД выполняются из одного места (во вторичном потоке), чтобыон может быть синхронизирован, и вызывающий может звонить из любого потока.
Может быть, если какой-либо модуль захочет выполнить запрос, он будет проверять из основного класса синхронизации БД, занята ли БД или свободна для выполненияtask.
Примечание : - В моей текущей реализации я открываю и закрываю БД каждый раз, когда хочу выполнить запрос.Будет ли это иметь какое-либо влияние на производительность?
Любая подсказка в правильном направлении будет высоко оценена.