So you want to optimize your performance by running your code on multiple threads?

This training covers the best ways to run code in parallel in Java today. We will deep dive into the concept of a thread pool executor, heavily used over the past 20+ years and in every major modern Java framework. The content was brainstormed with hundreds of developers in dozens of companies, so you will benefit from the collective experience of a huge number of projects.

This is the recording of a 3.5 intense hours of live webinar that took place in December 2020.


  • Thread - Fundamentals
  • Why not to manually create threads
  • Thread Pool Executors: deep explanations
  • Sizing a Thread Pool: Goetz Formula
  • CompletableFutures
  • @Async (Spring)
  • Handle HTTP Requests Asynchronously
  • parallelStream Best Practices
  • ForkJoinPool
  • Thread Locals Best Practices
  • Handling Exceptions from other threads

What to expect?

We will solve together a series of exercises in Java (70% of the time) exploring the behavior of the tools we cover, discussing their intended purpose, pros and cons of each in detail. The content will be backed by deep explanations of key theoretical concepts and proven whenever necessary via performance benchmarks. We will make some brief reference (<20%) to the Spring Framework, but all the ideas are directly applicable in any other frameworks in Java: JavaEE, Quarkus and Micronaut.

After following this workshop, you'll acquire a solid knowledge about multithreading and will take away at least a dozen of key practical techniques that you can apply to any real-life work involving multithreading. Expect an intense experience, as usual!

But perhaps the best part is that you can ask any question you want to a Java Champion and former Lead Architect at IBM. There will be no unanswered questions™️😀

Disclaimer: Concurrency is a huge topic. The training does NOT cover concurrency control, race bugs, or deadlocks, nor ReactiveX or Akka Actors. Those might become the topic of another a future training.

Target Audience

Any Java developer, ideally with some prior contact with multi-thread code.

Technical Requirements

The webinar will take place on Zoom, so for best experience (to be able to participate in polls), please have the app installed.

You are not required to write code during the webinar. I would recommend instead that you get yourself a black coffee and you pay close attention to the discussion, ask questions and bring ideas, as the code will go through a lot of alternative solutions.

After the webinar, you will be able to download all the code zipped together with the git history, so you can explore each commit at your own pace. I strongly encourage you to try out the code on your machine afterwards, and for that you will need a Java 8+ SDK installed, a decent IDE, and access to GitHub and Maven Central.

Optional Prep

If you want to get the best value out of this workshop, you can prepare by reading a bit about completable futures and parallel streams.

Looking forward working with you!

P.S.: The content is distilled from my 2-days (16-hours) Performance training. If you are interested in a private dedicated session for your company, please find here my entire curricula and contact details.

Course Curriculum

  Multi-threading in Java
Available in days
days after you enroll

Trainer: Victor Rentea

​Victor Rentea is a Java Champion and Associate Professor at UPB writing code for over two decades in many languages.

Since 2012 he is coaching and teaching others on day-to-day coding topics, having developed by now an extensive curricula that cover most of the software best practices and typical Java-stack development. ​Today, over 40 companies bring him in for consultancy or training sessions. Thousands of developers and students have attended his classes by now and left him many recommendations on LinkedInFacebook, and on

Victor is best known for the enthusiasm and depth of his talks, which you can also enjoy during his courses and webinars. To share his passion for Clean Code and Unit Testing, he founded the Bucharest Software Craftsmanship Community, one of the largest developer communities today in Romania.

Choose a Pricing Option


3.5 hours Live Webinar

Frequently Asked Questions

Can I ask questions after I watch the recording?

PLEASE DO! Email me your questions, no matter how silly or complex you may think they are. I'd be glad to help, so don't hesitate to contact me.

How long do I have access to the course?

How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.

What if I am unhappy with the course?

We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Can I get an invoice to be reimbursed by my company?

If the standard Teachable invoice is not acceptable by your company accountant, please contact me and we'll find a way to fix it.

Can I have this training for more of my colleagues?

There are two ways I can help you:

  • For 5+ developers, contact me for a discount and a company invoice
  • For 10+ developers or for a longer in-depth session, contact me for a dedicated webinar for your company.