Running on Java 22-ea+27-2262 (Preview)
Home of The JavaSpecialists' Newsletter

Mastering Platform Threads in Java Course

Java threading, including updates to Java 21 platform Threads

Using Java 21

Duration of 1 Day


Let's write a ThreadPool together. First exercise. A sea of scared faces. Is the teacher kidding?

"Mastering Platform Threads in Java" is an intense one-day course that starts with the basics of platform threads using Java 21. We then look at laws that help us to write correct threaded code. We then go to higher-level constructs that make threading much easier to use, always considering how our code would work on virtual threads. We end with diagnosing race conditions and deadlocks.

Each section ends with exercises that we solve to hone our skills as Java programmers. Some of these exercises (write a ThreadPool) have challenged hundreds of Java programmers. They have all been rewritten to illustrate the extended threading library in Java 21. In solving these, we learn how inter-thread communication works. We learn how to keep our classes thread-safe. We also learn about thread states.

We use OpenJDK 21 for this course, taking full advantage of the new extended threading constructs, such as AutoCloseable ExecutorServices. However, programmers with Java 11 or 17 knowledge will also be able to follow.

We are selective on what we cover in this course. Our intention was to create a short course that will teach enough to help in every-day work, and to prepare for using virtual threads.

Mastering Platform Threads in Java Enquiry


Prerequisites

This course is ideally suited to the professional Java programmer who would like a good introduction on how to use platform threads in Java.

  • Required Experience: At least two years of professional Java programming.

Pricing Options

We have several options for you to join this course:

1. Virtual In-house Course:

Presented via video conference to your team of programmers by the author of the course. Price is €4250 for up to 10 students, above that is an additional €425 per student.

  • Example 1: Course with 8 students taught remotely via video conference, price is €4250. Price per student is €531.
  • Example 2: Course with 12 students taught remotely via video conference, price is €5100. Price per student is €425.
  • Example 3: Course with 24 students taught remotely via video conference, price is €10200. Price per student is €425.

Please contact us if you have any questions.

2. In-person In-house Course:

Presented at your company in-person by one of our Certified JavaSpecialist Instructors. Price is €6250 for up to 10 students, above that is an additional €625 per student, plus the travel expenses of the instructor. Note that for in-person in-house courses, we need a minimum of three consecutive training days.

  • Example 1: Course with 8 students taught on-site at your company, price is €6250. Price per student is €781.
  • Example 2: Course with 12 students taught on-site at your company, price is €7500. Price per student is €625.
  • Example 3: Course with 18 students taught on-site at your company, price is €11250. Price per student is €625.

Please contact us if you have any questions.

2. Open Enrollment Classroom Course:

We occasionally offer this course as a classroom course in Chania on the Island of Crete. Price for the course is €1250 per student.

We also offer this course as an open enrollment live remote course that you can attend from anywhere. Price is €850 per student.

Please contact us if you have would like to make a booking or if you have any questions.

4. Self-Paced Course:

This course is currently not available as a self-paced course.

Please contact us if you have any questions.

* Prices exclude EU VAT and withholding taxes where applicable. Please contact us for an exact quote for your country.

Open Courses

All our courses are offered as in-house courses. Please contact us on heinz@javaspecialists.eu.

Location Dates Presenter Language Fees

* Price is excluding EU VAT where applicable. Please contact us for an exact quote for your country.

Detailed Outline

Part 1: Welcome
  • Mastering Platform Threads in Java
  • Hearty Welcome
Part 2: Basics of Threads
  • Basics of Threads
  • Why Use Threads?
  • Threading Models
  • Parallel Computing vs Concurrent Computing
  • Java Memory Model (JSR 133)
  • Creating New Thread
  • Shared Memory with Multithreading
  • Synchronized
  • Thread States
  • Inter-thread communication
Part 3: The Secrets of Concurrency
  • Sabotaged Doorbell
  • Distracted Spearfisherman
  • Overstocked Haberdashery
  • Blind Spot
  • Leaked Memo
  • Corrupt Politician
  • Micromanager
  • Cretan Driving
  • Sudden Riches
  • Uneaten Lutefisk
Part 4: Applied Threading Techniques
  • Executors
  • Callable and Future
  • CompletionService
  • CountDownLatch
  • Semaphore
  • BlockingQueues
  • Unhandled Exceptions
  • ThreadLocal
  • Stopping Threads
  • Shutdown Hooks
Part 5: Threading Problems
  • Race Condition
  • Starvation
  • Fairness
  • Deadlock
  • Analyzing Thread Dumps
  • Livelock
Part 5: Conclusion

About the Author

Heinz Kabutz Java Conference Speaker

Java Champion, author of the Javaspecialists Newsletter, conference speaking regular... About Heinz

Superpack '23

Superpack '23 Our entire Java Specialists Training in one huge bundle more...

Free Java Book

Dynamic Proxies in Java Book

110% Money-back Guarantee

Should you not be satisfied with the quality of the training or the delivery, we will gladly refund you 100% of the course fees. This needs to be brought to our attention within the first 4 hours of the course and a chance should be given to correct whatever you are not satisfied with. If you are still not satisfied, we will refund you 100% of the course fees, plus we will pay our own travel expenses. The training material then remains the property of JavaSpecialists.EU.


Cancellation Policy

If the course is cancelled more than two weeks before the start of the course, a 10% cancellation fee of the fees will apply, plus any non-refundable travel expenses incurred by the trainer.

If the course is cancelled within two weeks of the start of the course, a 50% cancellation fee of the fees will apply, plus any non-refundable travel expenses incurred by the trainer.

No refund will be given to cancellations during the course.


Java Training

We deliver relevant courses, by top Java developers to produce more resourceful and efficient programmers within their organisations.

Java Consulting

We can help make your Java application run faster and trouble-shoot concurrency and performance bugs...