解决什么工作场景

这套资料围绕 Qt5 框架下的 C++ 多线程开发展开。很多做桌面端开发的人在遇到耗时任务时,最头疼的就是界面卡死。比如处理大批量数据解析、网络文件下载或硬件数据轮询时,如果你把这些操作直接塞进主线程,用户界面就会完全失去响应。这门课解决的核心问题就是如何用 QThread 把耗时任务挪到后台,保证主界面流畅,同时确保多个线程在操作同一块内存或资源时不发生数据错乱。它不是泛泛讲 C++ 标准库的 thread,而是紧扣 Qt 自身的事件循环机制和信号槽,讲透这套框架特有的多线程运作逻辑。

适合什么基础与建议先看哪几块

这套资料不适合零基础。你需要具备 C++ 基本语法和面向对象概念,最好能独立写过简单的 Qt 单线程界面程序。资料前两节会带过单线程演示,但如果连 QString、信号槽连接都看不懂,学起来会非常吃力。拿到资料后,建议直接把重点放在 QThread 类的创建方式、start 方法底层逻辑以及线程退出方式这几块。Qt 的多线程有个经典坑点:很多人习惯用继承 QThread 并重写 run 方法的方式,但这在实际工程中容易导致对象依附关系混乱。资料里详细对比了两种创建方式,建议你重点对比它们在事件循环和槽函数执行行为上的差异。另外,connect 函数与线程那一讲的篇幅最长,它直接关系到槽函数到底在哪个线程执行,务必反复看,不要跳过。

学完能独立做什么与资料怎么配合练习

学完这套内容,你应该能独立为一个现有的 Qt 桌面程序拆分出独立的后台工作线程。比如写一个带进度条的后台文件处理模块,主界面能随时响应取消操作,且后台线程能安全退出而不造成内存泄漏。练习时,不要只用眼睛看视频。建议搭一个 Qt5 的编译环境,每看完一种线程创建方式,就写一个小 demo 验证:先故意在主线程跑一个死循环看界面卡死,再改成子线程执行。重点验证 QThread 的 exec 事件循环开启和关闭前后,跨线程发信号时槽函数的执行表现。把同步互斥和线程安全的概念放到自己写的 demo 里去复现死锁,看看界面在等待线程执行完毕时到底呈现什么状态。只有把这些坑自己踩一遍,这套资料的价值才算榨干了。


熟练掌握Qt5框架下多线程相关的类的使用、深入理解多线程的同步互斥、线程安全,深入Qt框架!

课程目录

*   01 Qt多线程编程简介.mp4 08:00

*   02 Qt单线程程序演示.mp4 06:55

*   03 Qt多线程QThread类详解.mp4 10:35

*   04 Qt创建多线程(方式一).mp4 31:44

*   05 QThread类start方法的奥秘.mp4 08:01

*   06 Qt等待线程执行完毕.mp4 19:29

*   07 Qt线程的三种退出方式.mp4 15:01

*   08 Qt设置线程的优先级.mp4 21:59

*   09 QThread的exec事件循环(一).mp4 19:23

*   10 QThread的exec事件循环(二).mp4 13:28

*   11 connect函数与线程.mp4 46:24

*   12 Qt创建多线程(方式二).mp4 15:24

*   13 使用多线程解决界面卡顿(方式一).mp4 10:07

*   14 使用多线程解决界面卡顿(方式二).mp4 14:12

*   15 QThreadStorage线程数据存储.mp4 17:00

*   16 Qt线程的同步与互斥.mp4 03:23

*   17 Qt线程互斥之QMutex类.mp4 18:03

*   18 Qt线程互斥之QMutexLocker类.mp4 07:11

*   19 Qt线程互斥之QRecursiveMutex类.mp4 11:45

*   20 Qt线程互斥之QReadWriteLock类.mp4 28:23

*   21 Qt线程互斥之QReadLocker与QWriteLocke.mp4 09:35

*   22 Qt线程互斥之QSemaphore类.mp4 22:22

*   23 Qt线程同步之QWaitCondition(一).mp4 34:04

*   24 Qt线程同步之QWaitCondition(二).mp4 11:08

*   25 Qt原子类型之QAtomicInteger.mp4 14:25

*   26 Qt可执行类之QRunnable.mp4 22:04

*   27 Qt线程池简介.mp4 07:21

*   28 Qt线程池之QThreadPool(一).mp4 36:01

*   29 Qt线程池之QThreadPool(二).mp4 44:12

*   30 Qt线程池之QThreadPool(三).mp4 17:42

*   31 Qt高并发之QtConcurrent(一).mp4 46:23

*   32 Qt高并发之QtConcurrent(二).mp4 41:04

*   33 Qt高并发之QtConcurrent(三).mp4 18:51

*   34 Qt多线程编程总结.mp4 12:18

*   35 结课测试