qthread完成状态
QThread finished state
QThread * thread = new QThread();
qDebug() << "Finished: " << thread->isFinished();
控制台是:
Finished: 0
线程是从不启动,isFinished()
不应该返回 true (1(而不是 false> false (0(?
nb: isRunning
返回 0 是正确的。
no。完成的状态可以表明在调用quit()
或exit()
之前。它是接收finished()
信号的替代方法。
quit()
和exit()
导致run()
(这是线程实际运行的唯一部分在单独的线程中运行的部分(,返回您的QThread
实例所属的线程。之后执行清理过程 - 不再处理指定删除旁边的事件。
触发完成状态,您可以安全地删除QThread
的实例。finished()
信号发出(在大多数情况下,连接到位于单独线程中的对象的deleteLater()
插槽(,isFinished()
返回true
。
自然,如果您尚未启动线程,它就无法完成,因为它从未运行。:d开玩笑,删除根本没有启动的QThread
实例是完全安全的。
如果您对此更感兴趣,我建议您查看QThread
的源代码,以查看类是如何固定并实现的。
来自文档:
bool qthread :: isfined((const
如果线程完成,则返回true;否则返回false。
另请参见Isrunning((。
bool qthread :: isrunning((const
如果线程运行,则返回true;否则返回false。
另请参见Isfined((。
要完成线程,必须事先启动。
相关文章:
- 如何监控QThread
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- OSX MetalKit CVMetalTextureCacheCreateTextureFromImage失败,状态:
- std::future_error:无关联状态
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- 如何避免LED在循环状态变化中闪烁?
- boost 是否有按特殊类型值编码状态"compact optional"?
- 为什么系统函数总是在C++中返回已转移的退出状态?
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 当可输入框在窗口中处于活动状态时获得通知的任何方法
- 检查两个节点在子节点上是否具有相同状态的更优雅的方法
- 将有状态的 lambda 传递到 C 样式函数中,而无需上下文参数
- 在 nullptr 上调用无状态类的非静态成员函数是否合法?
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- C++部分概念 id:显式模板规范顺序/第一个参数的特殊状态的原因是什么?
- 试图在崇高中奔跑. 错误 已发生: 收集2.exe: 错误: ld 返回 1 退出状态
- 在容器上移动分配:以前包含的对象的状态
- qthread完成状态
- 唤醒处于睡眠状态的QThread