Description:

Creating and managing multiple concurrent threads manually can be painstaking, but Java includes objects that make this much simpler. This course will help you gain experience using objects such as Java's ExecutorService and the Fork/Join framework that make it easy to write scalable multithreaded applications. You will get hands on with these objects and will recognize their use cases, features and their limitations.

Target Audience:

Duration: 01:24

Description:

Java includes a variety of objects and mechanisms to manage concurrently executing threads working on shared resources. In this course, you will get hands-on with a variety of Java objects and mechanisms to manage concurrently executing threads working on shared resources. You will get to implement semaphores, volatile, and atomic variables and concurrent collections, while recognizing their inidividual features and use cases.

Target Audience:

Duration: 01:22

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.

Target Audience:

Duration: 00:51

Description:

In this demo-only course you will cover the basics of synchronization of threads in Java in order to prevent the unpredictability of the race condition. You will get experience with the implementation of synchronized functions and blocks, and also the use of Java lock objects such as the ReentrantLock and StampedLock.

Target Audience:

Duration: 01:28

Description:

This is a hands-on course which introduces you to the implementation of concurrency in a Java application. You will become familiar with setting up, configuring and launching multiple concurrent threads. You will implement the join() method to synchronize threads and will explore a variety of thread features including their states, transitions and how they can be interrupted.

Target Audience:

Duration: 01:30

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.

Target Audience:

Duration: 01:19