你将学会
- 理解原子操作无锁并发的底层原理
- 明确互斥锁与原子类型的适用边界
- 能正确选用内存序解决指令重排问题
本课程通过计数器自增与内存序讲解 std::atomic,解决变量加锁过重与指令重排,帮助学习者用原子类型与 CAS 无锁编程。
对比解决共享计数器竞争问题的两种思路,说明为什么对一个简单整数加互斥锁会显得过于笨重。文章用同一个累加例子展示加锁与无锁原子操作在代码复杂度和性能上的差异,引出更轻量的同步原语及其适用边界。适合写并发程序的 C++ 开发者,读完能判断什么时候该用锁,什么时候用原子变量更划算、更高效。
本课程通过编译期与运行期常量对比及反汇编验证,讲解C++编译期计算机制,解决运行时重复计算性能浪费,帮助学习者将计算前移至编译期。
本课程通过 .proto 定义与 protoc 编译,讲解 Protobuf 跨语言序列化,解决跨系统传输,帮助学习者搭建序列化。
本课程讲解C++20协程语法与底层机制,解决IO等待时线程空占问题,帮助掌握co_await并实现生成器与事件循环。