# JNTUH B.TECH R18 4-1 Syllabus For Concurrent programming PDF 2022

### Get Complete Lecture Notes for Concurrent programming on Cynohub APP

You will be able to find information about Concurrent programming along with its Course Objectives and Course outcomes and also a list of textbook and reference books in this blog.You will get to learn a lot of new stuff and resolve a lot of questions you may have regarding Concurrent programming after reading this blog. Concurrent programming has 5 units altogether and you will be able to find notes for every unit on the CynoHub app. Concurrent programming can be learnt easily as long as you have a well planned study schedule and practice all the previous question papers, which are also available on the CynoHub app.

All of the Topic and subtopics related to Concurrent programming are mentioned below in detail. If you are having a hard time understanding Concurrent programming or any other Engineering Subject of any semester or year then please watch the video lectures on the official CynoHub app as it has detailed explanations of each and every topic making your engineering experience easy and fun.

### Concurrent programming Unit One

#### 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.

### Concurrent programming Unit Two

#### 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.

### Concurrent programming Unit Three

#### 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

### Concurrent programming Unit Four

#### 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

### Concurrent programming Unit Five

#### UNIT – V

Concurrent Queues and the ABA Problem, Concurrent Stacks and Elimination, Transactional Memories

### Concurrent programming Course Objectives

To explore the abstractions used in concurrent programming

### Concurrent programming Course Outcomes

Ability to implement the mechanisms for communication and co-ordination among concurrent processes.
Ability to understand and reason about concurrency and concurrent objects
Ability to implement the locking and non-blocking mechanisms
Ability to understand concurrent objects

### Concurrent programming Text Books

1. The Art of Multiprocessor Programming, by Maurice Herlihy and Nir Shavit, Morgan Kaufmman Publishers, 1st Edition, Indian Reprint 2012.

### Concurrent programming Reference Books

Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Block, Joseph Bowbeer, David Holmes and Doug Lea, Addison Wesley, 1st Edition, 2006.
Concurrent Programming in Java™: Design Principles and Patterns, Second Edition by Doug Lea, Publisher: Addison Wesley, Pub Date: October 01, 1999.