当前位置: 首页 > news >正文

Qt:子线程在程序退出时的操作

在Qt中可以使用线程指针对子线程进行操作。子线程可以使用使用基本指针,shared_ptr,两种指针进行操作(QSharedPointer指针操作有问题还未解决,先不讲)。

// c++标准库
shared_ptr<QThread> thread_;// 基本指针
QThread* thread_;// Qt智能指针。
// QSharedPointer<QThread> thread_;

绑定信号槽,智能指针调用方法get获取基本指针。

connect(exit_action_,&QAction::triggered,handler_.get(),&Main_window_handler::signal_exit_application);

启动子线程:

	    // c++标准智能指针。thread_ = make_shared<QThread>();handler_ = make_shared<Main_window_handler>();
//		handler_->moveToThread(thread_.get());
//		thread_->start();// 基本指针。thread_ = new QThread();handler_->moveToThread(thread_);thread_->start();

在析构方法中释放子线程资源:

		// 基本指针资源释放。if (nullptr != thread_) {thread_->quit();thread_->wait();delete thread_;thread_ = nullptr;}// 释放c++标准智能指针shared_ptr。
//		while (thread_->isRunning()) {
//			thread_->quit();
//			thread_->wait();
//		}


http://www.mrgr.cn/news/82554.html

相关文章:

  • Flink系列知识讲解之:深入了解 Flink 的网络协议栈
  • 【数据结构】链表(2):双向链表和双向循环链表
  • 第一节:电路连接【51单片机+A4988+步进电机教程】
  • 解决 ssh connect to host github.com port 22 Connection timed out
  • Scala_【4】流程控制
  • ChatUML:AI自动生成UML图表
  • 使用 PyTorch 自定义数据集并划分训练、验证与测试集
  • 第十一章 图论
  • C语言 - 理解函数栈帧
  • 服务器信息整理
  • Rosbag常见使用汇总
  • 一文讲清楚HTTP常见的请求头和应用
  • 【算法不挂科】算法期末考试【选择题专项练习】<多单元汇总>
  • C++例程:使用其I/O模拟IIC接扣(2)
  • SAP SD销售模块常见BAPI函数
  • pandas-栗子
  • Arduino UNO 驱动1.8 TFT屏幕显示中文
  • 软件逆向之标志位
  • 公共数据授权运营系统建设手册(附下载)
  • Tableau数据可视化与仪表盘搭建-数据连接
  • C语言:结构体
  • 【Rust自学】10.4. trait Pt.2:trait作为参数和返回类型、trait bound
  • 每天你好20250105(距离春节24天!!!)
  • 「C++笔记」unordered_map:哈希化的无序映射函数(键值对)
  • BerOS 文件系统路径归一化问题及其 Python 实现
  • 软件测试面试题整理