背景回顾:并发编程的基础机制 (线程、互斥锁、条件变量、信号量等) 足够实现高效的并发/并行编程,但它们的正确使用是完全由使用者负责——这毫无疑问是个过于乐观的假设。因此,编程语言的设计者们在不同的应用场景下,实现了许多并发/并行编程的机制。
本讲内容:(本次课为科普,不需要掌握相关编程技术) 高性能计算、Web 和数据中心的并发 (并行) 编程模型。
Take-away messages: 我们在 “更好的编程” 这条路上从未停止过努力。针对不同应用的应用,最终形成了 “领域特定” 的解决方案:Web 中的异步编程、高性能计算中的 MPI 和 OpenMI、数据中心中的 goroutines。更有趣的是,我们可以看到:改变世界的技术,往往只是一个小小的奇思妙想,最终坚持到底得到的。