# Windows编程基础(第三章)-线程篇(上)导读
初识多线程:告别单线程时代的局限
在传统的Windows程序开发中,绝大多数初学者接触的都是单线程模型——一个主线程从头到尾顺序执行所有任务。然而真实的应用场景远比这复杂:一个文件下载软件不能因为正在读取数据就卡死界面;一个音频播放器不能在解码音轨时让UI无响应;一个实时数据处理程序更不能让关键计算阻塞了消息循环。本章将带你走进多线程的世界,学会用并发思维重新审视程序架构。
课程结构:从理论到实战的完整闭环
本章共涵盖17个视频模块,内容层层递进,可划分为四个核心板块。
**第一板块:体系认知(视频1-2)**
课程首先从"七日成蝶"整体体系切入,帮助你定位本章在整个Windows编程学习路径中的坐标。了解多线程能力在后续高级主题(如同步机制、IPC通信)中的前置作用,明确学习方向。
**第二板块:线程的创建与生命周期管理(视频3-12)**
这是本章的核心。你将系统掌握`CreateThread`等API的调用方式,理解线程对象的创建与终结机制。课程通过多轮编码实战,逐一攻克关键难点:线程入口函数的参数如何传递与解析、`STARTUPINFO`与`THREAD_ENTRY`等结构体的实际用法、线程优先级的获取与设置方法,以及进程优先级与线程优先级之间的层级关系——这是许多开发者容易混淆的概念盲区。此外,你还将学习线程对象的句柄生命周期管理,以及以正常退出、强制终止、异常退出等多种方式结束线程的时机选择与潜在风险。
**第三板块:线程状态控制(视频13-15)**
线程并非只有"运行"和"终止"两种状态。本模块深入讲解`SuspendThread`与`ResumeThread`的挂起/恢复机制、`Sleep`函数的实现原理与精度特性、以及线程时间片切换的底层逻辑。通过编码实战,你将直观观察线程状态变化对程序行为的影响。
**第四板块:性能基准与计时技术(视频16-17)**
多线程编程离不开精确的性能测量。本模块教你如何使用Windows高精度计时API(如`QueryPerformanceCounter`与`QueryPerformanceFrequency`),为后续的线程性能对比实验奠定技术基础。
学习建议
- **动手优先**:本章大量涉及API调用与句柄管理,仅观看演示无法真正掌握,务必跟随每节实战代码亲手编写、编译、调试。
- **关注风险**:线程并非银弹。本章虽为"上篇",但已埋下并发安全的伏笔,建议在学习过程中有意识地思考"如果多个线程同时操作同一资源会怎样",为下一章的同步机制学习做好思维铺垫。
- **建立直觉**:通过视频16-17的计时实验,感受单线程与多线程在真实场景下的性能差异,培养对并发效率的直觉判断力。
课程目录
课程目录17 集
- 1 七日成蝶课程体系说明(2020) (20:53).mp4
- 2 课程概览,学我所需 (03:05).mp4
- 3 线程的创建与终结 (25:24).mp4
- 4 编码实战-创建线程(上) (13:12).mp4
- 5 编码实战-创建线程(下) (09:13).mp4
- 6 编码实战-线程参数(上) (18:08).mp4
- 7 实战编码-线程参数(下) (20:18).mp4
- 8 实战编码-设置优先级 (15:34).mp4
- 9 进程-线程优先级(上) (10:07).mp4
- 10 进程-线程优先级(下) (05:24).mp4
- 11 实战编码-线程对象生命周期 (05:47).mp4
- 12 实战编码-结束线程的N种方式 (08:18).mp4
- 13 线程状态与控制 (30:01).mp4
- 14 编码实战-线程挂起与恢复 (11:31).mp4
- 15 编码实战-线程睡眠与切换 (14:41).mp4
- 16 编码实战-程序记时(上) (10:37).mp4
- 17 编码实战-程序记时(下) (14:02).mp4






