Thread and Lock Condition Variable tryLock with timeout synchronized Atomic Variable (CAS) Thread Pool Functional Programming Clojure Actor Model CSP Data Parallelism The Lambda Architecture