Java Concurrency: Multithreading and Concurrency in Java: Concurrency & the Producer-Consumer Problem


Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description

The Producer-Consumer problem is a common issue to address when we have concurrent producer and consumer threads working with a bounded buffer. Solving this problem covers a variety of synchronization mechanisms in Java, and this course covers the implementation of synchronization blocks, locks, Condition objects, and Java's built-in data structures.



Expected Duration (hours)
0.9

Lesson Objectives

Java Concurrency: Multithreading and Concurrency in Java: Concurrency & the Producer-Consumer Problem

  • discover the key concepts covered in this course
  • define a producer task that can run concurrently with a consumer using a shared queue
  • develop a consumer task that works with a concurrent producer through a shared buffer
  • recognize the behavior of producer and consumer threads when working with a shared bounded buffer
  • use a ReentrantLock to access the shared queue for the Producer-Consumer problem
  • recognize the role of conditions in enabling different threads to wait on different conditions on the same object
  • verify the validity of a solution to the Producer-Consumer problem with multiple producer and consumer threads
  • implement a solution to the Producer-Consumer problem using Java's built-in ArrayBlockingQueue
  • summarize the key concepts covered in this course
  • Course Number:
    it_jmmtcjdj_04_enus

    Expertise Level
    Intermediate