Skip to content

Java Training: Virtual Threads & Structured Concurrency

Concurrent Java code is often hard to read, error-prone, and difficult to debug – whether it’s written with CompletableFuture, reactive frameworks, or traditional thread pools. With Virtual Threads, Structured Concurrency, and Scoped Values, Java finally offers a way to change that: simpler, more scalable, more maintainable.

In just one day, this course enables your team to use the new threading model confidently and profitably – clearly explained and directly applicable.

Request now – no obligation
1 day
Individual date
On-site or online
German / English
Customizable content
Certificate of completion

What you’ll learn in this training

Virtual Threads, Structured Concurrency, and Scoped Values – with Project Loom, a new threading model is entering the Java world that makes concurrency simpler, clearer, and more scalable.

In this one-day training, you’ll learn how to build robust and high-performance applications with Project Loom – without having to wrestle with complex reactive frameworks or deeply nested callbacks. Instead of hard-to-read code, you’ll write clear, linear flows – with excellent scalability.

We start with the fundamentals: Why was Project Loom even necessary? What do Virtual Threads really offer – and where are their limits? You’ll learn how they work, what to watch out for, and how to integrate them effectively in Spring and Jakarta EE applications.

Next, you’ll dive into Structured Concurrency – an API-based model that makes parallel tasks more structured, fault-tolerant, and maintainable. You’ll understand how task scopes work, how to handle cancellation, errors, and join strategies – and how to encapsulate concurrent processes in a clean, reusable way.

The course wraps up with Scoped Values – a modern, thread-safe alternative to ThreadLocal, designed to fit seamlessly into the new threading model.

As always, the course is highly hands-on: You’ll work with plenty of code examples and exercises that help you apply what you learn directly in your own projects.

Target audience

This course is aimed at Java developers who want to implement modern concurrency in their applications in a maintainable and efficient way – without diving into the complexity of reactive frameworks.

Perfect for teams developing high-performance server applications – and looking to replace traditional threading models with simpler, scalable, and more maintainable alternatives – with immediate benefits for code readability, scalability, and debugging.

Agenda

We’ll cover the topics with a practical focus and a balanced mix of theory and hands-on exercises – so you can immediately understand and apply the concepts to your own applications.

Introduction to Project Loom:

  • Motivation and goals of Project Loom
  • Limitations of the traditional thread model
  • Downsides of existing solutions like CompletableFuture or reactive frameworks

Virtual Threads:(Background knowledge: Virtual Threads in Java – Deep Dive with Examples)

  • What are virtual threads?
  • Differences from platform threads
  • Scalability and resource usage
  • Limitations
  • Best practices, tools (e.g., thread dumps), and useful use cases
  • Practical examples with Spring and Jakarta EE

Structured Concurrency:(Background knowledge: Structured Concurrency with StructuredTaskScope)

  • From unstructured to structured concurrency
  • Implementing structured concurrency with StructuredTaskScope
  • Error handling, join strategies, cancellation
  • Nesting and reusability

Scoped Values:(Background knowledge: Scoped Values in Java)

  • Passing contextual data in a safe and thread-safe way
  • How scoped values differ from ThreadLocal
  • Integration with StructuredTaskScope

Conclusion & Outlook:

  • When and how to make the most of Loom in your projects
  • Future developments in the field of concurrency

Sounds like exactly what your team needs?

Request now – no obligation

Why learn with me?

I’ve been working with Java for over 20 years – as a developer, CTO, trainer, author, and speaker.

In that time, I’ve helped companies modernize complex Java systems, write performant code, and develop their teams sustainably.

With HappyCoders.eu, I’ve built one of the most widely read Java blogs in the German-speaking world, and I regularly speak at conferences and user groups.

My goal: to teach complex topics in a way that is understandable, practical, and immediately applicable.

Rated 4.97 out of 5 on ProvenExpert

More about me

Any questions?

Participation & Booking

Can individuals book this training?

This training can only be booked for teams. If you’d like to attend as an individual, I offer two courses (in German) through ppedv:

How many participants are possible?

I recommend a maximum of 12 participants per training – that way I can give everyone individual attention. There is no minimum: I charge per training, not per person.

How does booking work?

The easiest way is the request form or an email to schulung@happycoders.eu. Right after submitting, you can book a video call via Calendly, where we discuss the details. You’ll then receive a concrete offer from me.

Prerequisites

What prior Java experience is required?

You should be familiar with the basics of concurrency in Java – that is, Thread, Runnable, and ideally ExecutorService. Experience with CompletableFuture or reactive frameworks is helpful, but not a must. You don’t need to know Project Loom itself in advance – that’s what the course is about.

What technical requirements do we need?

All participants need an up-to-date IDE with at least Java 25 – I use IntelliJ IDEA myself. Java 25 or later should also be installed in the terminal, as we’ll run some of the exercises there.

Schedule & Content

What does a training day look like?

Each day has six hours of net training time – usually with two short breaks and a longer lunch break in between. We align the exact schedule with your working hours – that’s flexible.

How much time is theory, how much is practice?

About half theory, half practice: a short theory phase is followed directly by applying it to code – with examples from real projects. Listening alone doesn’t help much; the knowledge has to be used immediately for it to stick.

Can we adjust or prioritize individual agenda topics?

Yes, that’s no problem. Dropping topics or weighting them differently – as long as I don’t have to restructure the training materials, there are no extra costs.

If you need more extensive changes – for example, combining content from different courses or adding entirely new topics – I’ll be happy to prepare an individual offer.

What exactly does “customizable content” mean?

Within the existing agenda, the weighting can be adjusted: shortening topics, setting priorities, changing the order. That’s free of charge.

Beyond that, more far-reaching adjustments are possible – such as combining content from different courses or completely new topic blocks. This involves extra effort, so I’ll prepare an individual offer for it.

Format & Materials

Which platform do we use for virtual training?

We usually use Zoom. If you prefer your own platform – for example, Microsoft Teams or Google Meet – I’m happy to work with that. Just let me know in advance.

Do participants receive materials to keep?

Yes. Before the training, you’ll receive the exercises as a Git repository so you can get started right away. After the training, you’ll also receive the slides – including all solutions to the exercises.

Prices & Costs

What do the travel expenses include?

Travel expenses are charged as a flat rate – depending on the training location and the number of overnight stays required. The exact amount is part of the individual offer I’ll send you.

Are there discounts for booking multiple trainings?

Yes. For multiple booked trainings or follow-up bookings, I can offer a volume discount. We’ll discuss this in the video call, and I’ll include it in the offer.

Is this a good fit for your team?

Just write to me – I usually reply within 24 hours.
Or book a free video call right away, and we’ll discuss everything important.

Request now – no obligation