Introduction
The project aims to introduce you to a Clojure concurrency primitives and core.async. It aims to equip Clojure users with knowledge and intuition on how to use the primitives.
Target audience
Anyone who has been using Clojure regularly but haven't had a chance to apply Concurrency primitives to solve problems
Prequisites
- A working editor setup with REPL workflow
- Working knowledge of Clojure
Outline
Clojure concurrency primitives
- Introduction
- Solving thundering herd problem
- Anti-patterns and Gotchas
core.async
- Introduction to CSP and how it differs from shared-memory concurrency
- What are the common CSP patterns ?
- Introduction to core.async library and its capabilities
- Basic APIs like take, put, alts, buffers, go routines
- Some supplementary stuff like pipelines, mix, mult etc
- Build an in-memory data processing pipeline using channels
License
Distributed under the MIT license.