C++并发编程(中文版)(C++ Concurrency In Action)

前4章,介绍了标准库提供的各种库工具,展示了使用方法。

第5章,涵盖了底层内存模型和原子操作的实际情况,包括原子操作如何对执行顺序进行限制(这章标志着介绍部分的结束)。

第6、7章,开始讨论高级主题,如何使用基本工具去构建复杂的数据结构——第6章是基于锁的数据结构,第7章是无锁数据结构。

第8章,对设计多线程代码给了一些指导意见,覆盖了性能问题和并行算法。

第9章,线程管理——线程池,工作队列和中断操作。

第10章,测试和调试——Bug类型,定位Bug的技巧,以及如何进行测试等等。

附录,包括新的语言特性的简要描述,主要是与多线程相关的特性,以及在第4章中提到的消息传递库的实现细节和C++11线程库的完整的参考。

https://www.bookstack.cn/read/Cpp_Concurrency_In_Action/content-about_this_book-about_this_book-chinese.md

In the meanwhile

I also add KAIST CS492 Concurrent Programming to this respository

https://www.youtube.com/watch?v=P_N2XRygDAk&list=PL5aMzERQ_OZ9j40DJNlsem2qAGoFbfwb4&index=4

https://docs.google.com/presentation/d/1NMg08N1LUNDPuMxNZ-UMbdH13p8LXgMM3esbWRMowhU/edit#slide=id.p

Prerequisites It is strongly recommended that students already took courses on:

Mathematics (MAS101): proposition statement and proof Data structures (CS206): linked list, stack, queue Systems programming (CS230) or Operating systems (CS330): memory layout, cache, lock Programming principles (CS220) or Programming languages (CS320): lambda calculus, interpreter Without a proper understanding of these topics, you will likely struggle in this course.

Other recommendations which would help you in this course:

Basic understanding of computer architecture (CS311) Programming experience in Rust