5 Concurrency primitives

This chapter covers

  • Understanding BEAM concurrency principles
  • Working with processes
  • Working with stateful server processes
  • Run-time considerations

Now that you have sufficient knowledge of Elixir and functional programming idioms, we’ll turn our attention to BEAM concurrency—a feature that plays a central role in Elixir’s and Erlang’s support for scalability, fault tolerance, and distribution. In this chapter, we’ll start our tour of BEAM concurrency by looking at basic techniques and tools. Before we explore the lower-level details, we’ll take a look at higher-level principles.

5.1 Concurrency in BEAM

Erlang is all about writing highly available systems—systems that run forever and are always able to meaningfully ...

Get Elixir in Action, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.