-
Notifications
You must be signed in to change notification settings - Fork 17
Concurrent Programming with Clojure
Stuart Halloway edited this page Nov 17, 2013
·
3 revisions
Clojure's immutable, persistent data structures encourage side-effect free programming that can easily scales across multiple processor cores. In this talk, we will explore the various features Clojure provides for dealing with concurrency:
- Atoms provide for synchronous, uncoordinated updates
- Agents provide a thread-safe mechanism for asynchronous, uncoordinated updates
- Futures are a convenient mechanism for execution on a separate thread
- Delays provide a way to defer work for one-time execution when needed
- Promises provide one-time delivery as a mechanism for coordination
- Software Transactional Memory (STM) provides a mechanism for managing references and updates across threads.
- Dynamic Vars support thread-local state.
- 2013 DevNexus video
- 2013 DevNexus slides
- Video from Oredev, Nov 2009