This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).
This course is part of the Parallel, Concurrent, and Distributed Programming in Java Specialization
Offered By

About this Course
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessSkills you will gain
- Concurrency (Computer Science)
- Actor Model
- Optimistic Concurrency Control
- Java Concurrency
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessOffered by
Syllabus - What you will learn from this course
Welcome to the Course!
Threads and Locks
Critical Sections and Isolation
Talking to Two Sigma: Using it in the Field
Actors
Concurrent Data Structures
Continue Your Journey with the Specialization "Parallel, Concurrent, and Distributed Programming in Java"
Reviews
- 5 stars66.61%
- 4 stars25.23%
- 3 stars5.48%
- 2 stars1.09%
- 1 star1.56%
TOP REVIEWS FROM CONCURRENT PROGRAMMING IN JAVA
Very well structured and presented course! Very useful material with good relevant examples! Thank you, Prof. Sarkar for this Concurrent Programming in Java course!
Excellent way to refresh what I learned some years ago in Operator System. Also I won a small hands-on experience using locks, isolation and high level concurrency in Java.
It was a really interesting course where the things were presented in a very simplified manner in which I could learn the topics in a short span of time.
Amazing course. Especially for those who want to really understand the foundations behind multithreading and concurrency in Java. As always, Professor Sarkar is brilliant!
About the Parallel, Concurrent, and Distributed Programming in Java Specialization

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
More questions? Visit the Learner Help Center.