Programming Concurrency on the JVM

Programmers have a love-hate relationship with concurrency. We all want to use it, but dread the journey of implementation. For a concurrent code to work correctly, everything should go well. For it to fail, we need to mess up in only one place. That's the harsh reality.

In this workshop we will start with a very short overview of the reasons for concurrency and some of the perils of using it. Then we will dive into ways to create safe concurrent code. In addition to discussing the concepts, we will learn by creating small concurrent programs. Of course what good is any code if we can't have confidence that it actually works correctly? We will look into a rather unconventional approach to writing automated tests for concurrent code.

Key learnings:

  • concurrency - to do or not to do
  • issues with concurrency
  • parallel, Concurrent, Asynchronous, which one to choose?
  • choosing from the concurrency options available on the JVM
  • what's looming in Java on the concurrency front?
  • creating automated tests for concurrency and to verify thread safety

[The training will take place from 09:00 to 17:00 on September 29th. It will be in English.]


Venkat Subramaniam

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. More...