Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Java Threaded Programming

Course Summary

The Java Threaded Programming training course is designed to create multi-threaded Java applications, using both the core Java language thread (java.lang.Thread) features as well as the Java concurrency packages (java.util.concurrent).

Java Threaded Programming begins by examining the multi-threaded capabilities built into the Java language and the Java Virtual Machine (JVM). Next, it transitions into the advanced discussion around multi-threading Java capabilities found in the java.util.concurrent package. The course concludes by examining the common issues encountered when creating a multi-threaded application.

Learn how to build high-performing multithreaded Java applications.
Experienced Java programmers with little-to-no background in multi-threaded application development needing write multi-threaded stand-alone applications.
Software Developer
Skill Level
3 Days
Related Technologies


Productivity Objectives
  • Apply the java.lang threaded model
  • Employ the java.util concurrent threading model
  • Identify and demonstrate alternative mechanisms for achieving thread safety

What You'll Learn:

In the Java Threaded Programming training course, you'll learn:
  • Using Core Concepts
    • Introduction to concurrent programming
    • Java's two threading models
      • java.lang
      • java.util.concurrent
  • Using java.lang.Thread and java.lang.Runnable
    • Thread vs. Runnable
    • Writing asynchronous threads
    • Pausing execution of threads
    • Synchronizing threads
    • Using wait() and notify()
  • Using Concurrent Libraries
  • Using Concurrent Collections
    • Lists
    • Sets
    • Maps
    • Queues
    • Iterators
  • Using Execution Framework
    • Executor services
    • Thread pools
    • Using Future
    • Using Fork-Join
  • Using Synchronizers
    • Latches
    • Barriers
    • Semaphores
    • Locks
  • Using Atomics
    • volatile
    • java.util.concurrent.atomic package
    • Adders
  • Best Practices
    • Starvation, deadlock and livelock
    • Immutable objects
    • Exception and Error handling
    • When to use what
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”


Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.