• Online, Self-Paced
Course Description

Concurrent programming in Java allows you to run multiple sequences of operations at the same time using a variety of objects and mechanisms. In this course, you'll learn about concurrent programming concepts such as threads and processes, including working with multiple tasks, multithreading, and multiprocessing. You'll explore race conditions and concurrency challenges and how to achieve concurrent thread synchronization using locks. Next, you'll look at how semaphores can be used and conditions that may cause deadlocks. You'll examine Java objects that aid in working with multithreaded application, using atomic operations, and the benefits of using thread pools to manage multiple concurrently executing threads. Finally, you'll learn use cases of the Futures object and the Fork/Join framework in terms of executing multiple threads.

Learning Objectives

{"discover the key concepts covered in this course"}

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development
  • Systems Architecture