Concurrent Channels

With core.async Clojure includes the notion of channels. This line of thought began life with Sir C. A. R. Hoare in Communicating Sequential Processes [Hoa78],[83] but the theory was expanded into a much more complete form in 1984.[84]

Channels add to Clojure’s concurrency support by providing thread-independent activity queues through which processes can communicate. It cleanly solves the information-exchange problems that have spawned mechanisms like callbacks and observers.

Get Clojure Applied 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.