VIP20
本课程属于:015-多线程 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

Qt多线程与界面卡顿解决实战

📚 共计 30 章节
01
Qt多线程入门
为什么需要多线程?界面卡顿的本质是什么?
基础概念
02
QThread基础
创建第一个QThread子类,重写run()方法。
线程子类化
03
启动与停止线程
start()、quit()、wait()、terminate()的正确用法。
生命周期控制
04
线程同步之QMutex
保护共享数据,防止竞态条件。
互斥锁同步
05
线程同步之QReadWriteLock
读写分离,提升并发读性能。
读写锁性能
06
线程同步之QSemaphore
控制对有限资源的访问。
信号量资源
07
线程同步之QWaitCondition
生产者-消费者模型实现。
条件变量模型
08
线程间通信之信号与槽
跨线程信号槽连接的原理与坑。
信号槽通信
09
Qt::ConnectionType详解
AutoConnection、DirectConnection、QueuedConnection。
连接类型原理
10
QMetaObject::invokeMethod
在任意线程安全调用函数。
元对象调用
11
QRunnable与QThreadPool
线程池的使用场景与最佳实践。
线程池复用
12
QtConcurrent框架
QtConcurrent::run、QFuture、QFutureWatcher。
并发Future
13
QTimer与多线程
定时器在子线程中的使用注意事项。
定时器子线程
14
QEventLoop
在子线程中创建事件循环。
事件循环阻塞
15
moveToThread方法
基于对象迁移的线程模型。
对象迁移模型
16
工作线程与主线程的数据传递
使用信号槽传递复杂数据类型。
数据传递信号槽
17
线程安全队列
实现一个线程安全的QQueue。
容器安全
18
原子操作与QAtomicInt
无锁编程入门。
原子无锁
19
QThreadStorage
线程局部存储的使用。
TLS存储
20
界面卡顿分析工具
Qt Creator Profiler、Performance Analyzer。
性能分析
21
耗时操作异步化
将文件读写、网络请求放到后台线程。
异步优化
22
进度反馈
在子线程中更新QProgressBar的正确姿势。
进度条UI
23
取消长时间运行的任务
使用QAtomicInt作为取消标志。
取消标志
24
多线程与QPainter
在子线程中渲染图像。
渲染图像
25
多线程与数据库
SQLite在多线程下的安全访问。
数据库SQLite
26
多线程与网络
QTcpSocket在子线程中的使用。
网络Socket
27
常见死锁场景与排查
使用QDeadlineTimer检测死锁。
死锁调试
28
线程安全单例模式
Qt中的双重检查锁定。
单例模式
29
实战案例1:图像处理软件
多线程滤镜应用。
实战滤镜
30
实战案例2:日志分析工具
多线程数据解析与UI更新。
实战日志