Russian Qt Forum

Qt => Вопросы новичков => Тема начата: unduty от Декабрь 10, 2020, 17:30



Название: Многопоточность в SQLite
Отправлено: unduty от Декабрь 10, 2020, 17:30
Доброе время суток.
Имеется простой многопоточный TCP-I сервер собранный по мануалам Qt5
QObject->QThread->WOrker->Clients

Как клиентов из сокетов подключать к SQLite ?
Каждый должен иметь свой коннект или должен быть отдельный поток для выполнения всех запросов?

Буду рад любым полезным ссылкам и советам.



Название: Re: Многопоточность в SQLite
Отправлено: RedDog от Декабрь 11, 2020, 09:29
Каждое подключение к БД должно создаваться и жить в своем потоке.
Запись в SQLite блокирующая, т.е. пока один поток не закроет транзакцию, другие будут ждать.
По хорошему для работы с базой надо сделать постоянный пул потоков/подключений, над ним поставить какого либо манагера, который распределял бы из одной входной точки запросы по пулу.