导入
并发编程入门
了解实现并发的多种方式及其带来的优势。
多线程
自计算机产业兴起以来,硬件制造商和计算机科学家一直在努力提升计算机运行程序的速度。早期,多线程是实现并发的唯一方式。多线程是指同时运行两个或多个编程任务,并在它们之间切换以获取结果。这正是计算机看似同时处理多项任务的原因——实际上它们正在执行多任务处理。
多核 CPU
多核 CPU 引入了并行性,使得任务能够独立地同时运行,显著提升了系统的性能。随后出现的多处理器架构进一步增强了并发与并行能力,支持在单台机器上使用两个或更多 CPU。下图简单对比了单核 CPU 与双核 CPU 上的并发情况,后者还支持并行处理。
...
Single-core vs. dual-core CPUs
技术进步带来的优势
尖端硬件通常价格昂贵。然而,随着云计算的出现,情况发生了改变。如今,我们可以通过云服务,在拥有数十个 CPU 核心的虚拟机上运行代码,而无需购买和维护任何物理硬件。
这些技术进步对软件工程师至关重要。我们希望编写出性能优良、运行迅速的软件,毕竟没有人喜欢等待加载画面。但仅仅在多核处理器系统上运行代码,并不会自动带来高效。为了充分利用计算机资源,我们必须在设计软件时就考虑并发与并行。
幸运的是,现代编程语言都在尽可能地提供支持,Elixir 也不例外。得益于 Erlang、Erlang 虚拟机(BEAM)以及开放电信平台(OTP),Elixir 成为构建并发应用和数据处理系统的绝佳选择,这一点将在接下来的章节中逐步展现。