Как отменить QSqldatabase :: open немедленно в работающем потоке? - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть Поток, который открывает базу данных и издает сигнал. Основная идея состоит в том, чтобы проверить, если база данных все еще там и действительна. Если база данных находится в автономном режиме (MYSQL), QSqldatabase пытается подключиться около 3 секунд. Теперь проблема: если я хочу закрыть поток (поскольку окно пользовательского интерфейса закрылось) и база данных недоступна, мне нужно подождать, пока не будет завершен тест соединения, прежде чем я смогу закрыть свой поток и после этого пользовательский интерфейс.

Таким образом, пользовательский интерфейс может зависнуть, поскольку он ожидает закрытия потока, который занят тестированием соединения.

Есть ли возможность немедленно прервать поток? (Я использую Qt Concurrent :: run).

...