Home About Courses Schedule Services Webinars Contact Search

Java Threaded Programming

SEE SCHEDULE

Duration: 3.0 days

Method: Instructor led with workshops

Price: $1920.00

Course Code: JA2020


Audience

Experienced Java programmers with little-to-no background in multi-threaded application development needing write multi-threaded stand-alone applications.

Objectives

Upon successful completion of this course, the student will be able to:

  • Use the java.lang threading model
  • Use the java.util.concurrent threading model
  • Understand and use alternative mechanisms for achieving thread safety

Prerequisites

Extensive background coding Java applications.

Topics

  • I. Core Concepts
    • Introduction to concurrent programming
    • Java’s two threading models
      • java.lang
      • java.util.concurrent
  • II. Using java.lang.Thread and java.lang.Runnable
    • Thread vs. Runnable
    • Writing asynchronous threads
    • Pausing execution of threads
    • Synchronizing threads
    • Using wait() and notify()
  • III. Using Concurrent Libraries
  • IV. Using Concurrent Collections
    • Lists
    • Sets
    • Maps
    • Queues
    • Iterators
  • V. Using Execution Framework
    • Executor services
    • Thread pools
    • Using Future
    • Using Fork-Join
  • VI. Using Synchronizers
    • Latches
    • Barriers
    • Semaphores
    • Locks
  • VII. Using Atomics
    • volatile
    • java.util.concurrent.atomic package
    • Adders
  • VIII. Best Practices
    • Starvation, deadlock and livelock
    • Immutable objects
    • Exception and Error handling
    • When to use what