UNIT - I Introduction - Shared Objects and Synchronization, A Fable, Properties of Mutual Exclusion, The Moral, The Producer - Consumer Problem, The Harsh Realities of Parallelization. Mutual Exclusion - Time, Critical Sections, 2-Thread Solutions, The Peterson Lock, The Filter Lock, Lamport’s Bakery Algorithm. (Chapter - 1) UNIT - II Concurrent Objects - Concurrency and Correctness, Sequential Objects, Quiescent consistency, Sequential Consistency, Linearizability, Linearization Points, Formal Definitions Linearizability, Compositional Linearizability, The Nonblocking Property, Progress conditions, Dependent Progress Conditions, The Java Memory Model, Locks and synchronized Blocks, Volatile Fields, Final Fields. (Chapter - 2) UNIT - III Synchronization Operations, Consensus Numbers, Consensus Protocols, The compareAndSet() Operation, Introduction Universality, A Lock-Free Universal, Construction Wait-Free Universal Construction, Spin Locks , Test-And-Set Locks (Chapter - 3) UNIT - IV Linked Lists : The Role of Locking, Introduction, List-Based Sets, Concurrent Reasoning, Coarse-Grained Synchronization, Fine-Grained Synchronization, Optimistic Synchronization, Lazy Synchronization, Non-Blocking Synchronization (Chapter - 4) UNIT - V Concurrent Queues and the ABA Problem, Concurrent Stacks and Elimination, Transactional Memories (Chapter - 5)