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.19%
- 3 stars5.51%
- 2 stars1.10%
- 1 star1.57%
TOP REVIEWS FROM CONCURRENT PROGRAMMING IN JAVA
As a course for introduction it is good. But it mentioned very little of how we implement all these concept like isolation and actors. I wanna see more of it.
The most challenging part was to pass the miniproject_4. I made some changes in the condition to get the passing score. Thank you!
Amazing course. Especially for those who want to really understand the foundations behind multithreading and concurrency in Java. As always, Professor Sarkar is brilliant!
Awesome course, it nudges students in right directions, provides them with solid fundamentals and encourages them to deep dive more into topics. Thanks a lot!
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.