这门课解决什么实际问题
很多 Windows 开发人员在处理多线程应用时,往往只停留在“能跑起来”的层面,遇到竞态条件、死锁或资源泄漏便无从下手。本课程聚焦于 Windows 底层的核心机制,重点解析进程、线程以及相对冷门但极具实用价值的“作业(Job)”对象。它不只是讲解 API 的用法,更侧重于同步原理的剖析,帮助你理解为什么线程会阻塞、如何在父子进程间建立隔离与控制,以及如何通过作业对象对一组进程施加安全和 UI 限制。这对于开发后台服务、即时通讯软件或任何需要精细控制进程生命周期的应用至关重要。
适合什么基础,建议先看哪几块
这门课有明确的门槛要求,它不适合从未接触过 C/C++ 或 Windows API 的初学者,也不适合仅了解 Python/Java 高级语言逻辑而缺乏系统编程经验的开发者。学员必须已经修读过 Windows 编程入门课程,或者对操作系统内存模型、基本数据结构有扎实的理解,并在 Visual Studio 10 环境下具备实际的编码能力。课程内容分为两大主线:前半部分深入探讨作业对象的限制、通知接收及 UI 隔离,这部分内容较为抽象,建议有权限管理需求的学习者优先研读;后半部分回归线程本体,从线程创建到同步机制,是所有开发者必须掌握的基石。建议你按照课程顺序,先通过“作业概念初步”建立宏观控制视角,再进入“线程初步”与“线程创建”夯实微观执行单元的理解。
学完能独立做什么,资料如何配合练习
完成学习后,你将具备独立设计和调试复杂 Windows 多进程应用的能力。具体而言,你能编写出具备自我保护机制的服务端程序,利用作业对象限制子进程的行为范围,防止恶意或崩溃的子进程拖垮主程序;同时,你能熟练运用互斥量、事件等同步原语,解决多线程环境下的数据竞争问题。为了达到这一目标,单纯观看视频是远远不够的。课程配套的代码示例和文档线索是你动手实践的关键,你需要在本地环境中对照“子进程不加入默认父进程所在作业”等具体场景,亲手改写并运行代码,观察通知消息的触发时机。只有在调试中亲眼看到线程同步失效导致的异常,这些理论才能转化为真正的工程直觉。
课程目录
45ce1a885bc171be353d17a4a1e0c5b1.png (183. 13 KB, ) 2024-9-24 21: 57 上传 适合人群: 学过windows编程入门课程的学员,对windows操作系统有一定理解的学员。 你将会学到: 学习Windows线程,进程,作业的操作和进程中线程的同步,进程间线程同步。 课程简介: 讲解了windows中线程,进程,作业的使用方法,以及线程间的同步方式,同步原理。 操作系统windows 7 ,工具VS10。 有一定windows(C/C++)编程基础的学员学习。 1.作业概念初步 2.子进程不加入默认父进程所在作业的办法 3.如何给作业中的进程施加限制 4.作业中的基本限制 5.作业中的安全限制 6.作业通知的接收1 7.作业中的UI限制 8.作业通知的接收2 9.其他一些杂项 10.线程初步 11.线程创建 12.CreateThread和beginthread 13.API函数和C语言函数 14.伪句柄和真是句柄 15.API函数和C语言库函数混合使用的问题 16.线程优先级和线程上下文切换 17.线程暂停 18.windows系统抽象优先级和线程优先级关系 19.设置线程和进程的cpu 20.CPU的几个概念 21.原子操作函数interlocked系列函数 22.关键区 23.带自旋锁的关键区 24.slim读写锁和条件变量 25.线程优先级和同步原理 26.自旋同步 27.关键区1 28.关键区2 29.内核同步对像初步 30.事件同步对象 31.WaitForMultipleObjects函数 32.互斥内核对象 33.防止互斥内核对象出现abandoned的方法 34.信号灯 35.APC初步 36.APC的两个问题 37.时钟内核对象 38.等待进程空闲 39.WCT等待环 40.调试事件 资料






