当我使用start()
在Qt中执行我的线程时,我可以检查它是否与QThread::isRunning ()
一起运行。如果线程仍在运行,它将返回true
。在调用quit()
后,我可以退出我的主题。
现在我的问题:
致电quit()
后,我的isRunning ()
查询应该返回false
,我是对的吗?同样QThread::isFinished ()
应返回false
。
有了这个问题,我只想确认我理解QThread的主要原则之一。
答案 0 :(得分:0)
我可能错了,但文档告诉我们quit和exit(int)完成了线程事件循环。但退出线程事件循环并不意味着线程已完成。您甚至可以通过子类化和重新实现run方法来运行另一个qthread而不启动事件循环。所以调用quit方法并不意味着线程isFinished()返回true。只需将自己连接到finished()信号,然后用完成的线程做你想做的事。