在 C++ 中实现并行与并发编程,是否有“简单”的方法?与过去相比,答案是肯定的 —— 如今已经很少需要手动创建线程或直接处理同步问题(除非是在编写底层基础设施代码)。借助 STL 对并行算法的原生支持,甚至可以在不依赖外部库或工具的情况下,轻松实现并发逻辑。
然而,并行与并发编程的内在复杂性始终存在。要真正发挥其优势,程序必须采用不同的结构设计,遵循额外的约束条件,并要求开发者转变思维方式和设计范式。这不是 C++ 所独有的挑战,而是所有尝试进行并行编程时都必须面对的核心问题。
因此,可以得出这样的结论:如果做出正确的设计选择,现代 C++ 确实让并行编程比以往更加易用和安全,但它的复杂性依然不容低估。
在下一章中,我们将探讨一个看似简单却极具深度的问题:C++ 中最快的执行形式是否是内联汇编? 将从性能极限出发,审视语言抽象与硬件控制之间的权衡。