Variable

Presentations

Variable

Wikipedia

Variable properties

Clojure approach

Vars/Refs/Atoms/Agents

Vars   thread local   sychronous    single identity
Refs   transactional  synchronous   multiple identities
Agents uncoordinated  asynchronous  single identity
Atoms  uncoordinated  synchronous   single identity

Vars

Refs

(dosync
  (alter (ref1 ...))
  (alter (ref2 ...)))

Agents

Atoms

Validators

Watcher