Clojue is widely known as a functional programming language. But it has a great support for a variety of concurrency models too.
We’ll explore the various concurrency models and primitives supported by Clojure including threads, agents, STM and core.async goroutines and channels.
Outline of the Session
- Basics of Concurrency: Threads and Locks
- Easy Parallelism: pmap and siblings
- Atomic Mutability: Atoms and Non-blocking Algorithms
- Just Do It, Later: Futures and Promises
- Agents of Change: Agents and Watches
- Transactions: Refs and Software Transactional Memory
- core.async: go blocks
- core.async: channels
- core.async: Dataflow Programming
- Audience will learn and understand the various methods of implementing concurrency in clojure.
- Audience will become familiar with pro and cons of different concurrency models.
- Audience will be able to make right choices when using clojure for implementing concurrent programs.
People who are interested in learning and implementing concurrent programs in clojure.
Working familiarity with Clojure syntax and basic functions.