如何在正在运行的线程中立即取消QSqldatabase :: open?

时间:2020-02-10 22:09:17

标签: qt5 qthread qtconcurrent qsqldatabase

我有一个线程,将打开数据库并发出信号。主要思想是检查数据库是否仍然存在并且有效。如果数据库处于脱机状态(MYSQL),则QSqldatabase尝试连接大约3秒钟。现在的问题是:如果我想关闭线程(因为Ui窗口已关闭)并且数据库无法访问,则需要等到连接测试完成后才能关闭线程,然后关闭Ui。

因此UI可以冻结,因为它正在等待线程关闭,而忙于测试连接。

是否有可能立即中止线程? (我正在使用Qt Concurrent :: run)。

0 个答案:

没有答案