Concurrency model
A concurrency model is a set of abstractions and rules for representing, coordinating, scheduling, and executing computations that can progress concurrently.
Elixir in Action, Third Edition
A concurrency model is the set of abstractions and rules a programming language uses to represent and coordinate simultaneous computation.
- How it is used
- Uses lightweight isolated processes to preserve responsiveness, scalability, fault tolerance, and availability under concurrent workloads.
- How deep it goes
- Explains process isolation, parallelism, VM scheduling, preemption, and operating-system structure, while stopping short of detailed messaging mechanics.
- Examples
- Uses request handlers, background jobs, live updates, and per-player or per-session processes in an online multiplayer game.
- What you can do after
- Evaluate/understand how BEAM processes distribute work and contain failures in highly concurrent server systems.
Read how Elixir in Action, Third Edition explains concurrency model →
Go in Action, Second Edition
A concurrency model is the set of language abstractions and rules governing the execution and coordination of multiple computations.
- How it is used
- Frames Go’s approach to coordinating concurrent work in responsive, scalable applications.
- How deep it goes
- Explains CSP roots, goroutines, channels, synchronization, cancellation, patterns, and design cautions without descending into scheduler internals.
- Examples
- Uses simultaneous chores, goroutines, channels, worker pools, pipelines, fan-in/fan-out, and select-based event loops.
- What you can do after
- Apply it via goroutines, channels, synchronization tools, and context.Context to build and control concurrent workloads.
Read how Go in Action, Second Edition explains concurrency model →
Related concepts
- Goimplemented by · Go is a statically typed, compiled, garbage-collected programming language with built-in support for concurrency.
- goroutineuses · A goroutine is a lightweight function execution unit managed by the Go runtime that runs concurrently with other program activity.
- channeluses · A channel is a medium, mechanism, or pathway through which information or messages are conveyed between participants or endpoints.
- communicating sequential processincludes · Communicating Sequential Processes is a formal concurrency model in which independent sequential processes communicate through channels by exchanging messages.
- workflowuses · A workflow is an organized sequence of coordinated activities, tasks, or decisions through which work progresses toward an outcome.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

