0Pricing
Clojure Functional Programming & JVM Backend Development · Lesson

core.async Channels and Go Blocks

Beyond refs and atoms, core.async brings CSP-style concurrency to Clojure. This lesson teaches channels, go blocks, and coordinating asynchronous work with communicating processes.

Why core.async

Atoms and refs manage shared state. core.async manages communication between independent processes using channels, inspired by CSP.

Requiring the Library

Pull in the core functions you will use.

(require '[clojure.core.async :as a
           :refer [chan go >! <! <!! >!!]])

All lessons in this course

  1. Refs, Agents, Atoms for State
  2. Software Transactional Memory (STM)
  3. Promises, Futures & Async Operations
  4. core.async Channels and Go Blocks
← Back to Clojure Functional Programming & JVM Backend Development