Concurrency models¶
Category: Foundations · Status: stub
One line: The families of answers to how tasks share work and coordinate: threads and locks, communicating processes, actors, async tasks on an event loop, data parallelism, transactional memory.
Also called: parallelism models, the concurrency landscape.
How it connects¶
- See also: Actor model, Communicating sequential processes, Concurrency, Data parallelism, Event loop, Transactional memory
Where to read more¶
- In the books: Asynchronous Programming in Rust, Carl Fredrik Samson — ch. 2, 'How Programming Languages Model Asynchronous Program Flow'
- In the books: The Little Elixir & OTP Guidebook, Benjamin Tan Wei Hao — ch. 3, 'Processes 101' → 'Actor concurrency model'
- In the books: Fluent Python, Luciano Ramalho — ch. 19, 'Concurrency Models in Python'
- In the books: Go in Practice, Nathan Kozyra, Matt Butcher, Matt Farina — ch. 5, 'Concurrency in Go' → 'Understanding Go's concurrency model'
- In the books: The Linux Programming Interface, Michael Kerrisk — ch. 33, 'Threads: Further Details' → 'Thread Implementation Models'
- In the books: Rust for Rustaceans, Jon Gjengset — ch. 10, 'Concurrency (and Parallelism)' → 'Concurrency Models'
- Notes: Concurrency models - parallelism models - concurrency and parallelism landscape ↗
- Notes: Threads-and-locks in general ↗