繁体   English   中英

QThread的一般理解:quit()和isRunning()

[英]General QThread understanding: quit() and isRunning()

当我使用start()在Qt中执行线程时,我可以检查其是否正在使用QThread::isRunning () 如果线程仍在运行,则返回true 调用quit()我可以退出线程。

现在我的问题是:

调用quit() ,我的isRunning ()查询应该返回false ,对吗? 同样, QThread::isFinished ()应该返回false

带着这个问题,我只想确认我了解QThread的主要原理之一。

我可能是错的,但是文档告诉我们quit和exit(int)完成线程事件循环。 但是退出线程事件循环并不意味着线程已完成。 您甚至可以通过子类化和重新实现run方法,甚至无需启动事件循环即可运行另一个qthread。 因此,调用quit方法并不意味着线程isFinished()返回true。 只需将自己连接到finish()信号,然后使用完成的线程即可完成您想要的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM