Designing Concurrent Systems in Java


This four-day workshop introduces the fundamental concepts of threads, concurrency, semaphores, locks, and asynchronous programming and design.  Students learn through a balanced combination of lectures and hands-on exercises that reinforce the concepts and practices. The workshop format is interactive and informal, allowing the students to move at their own pace, and influence the depth and direction of the instruction. 

This is a coding-intensive class on concurrent programming with an emphasis on Java 5 and above. You will have the opportunity to write, evaluate, debug and instrument concurrent code.


Students explore the most common fundamental concurrency algorithms by working through examples and exercises.  They gain first-hand experience of the difficulties and issues of concurrency, and learn to write clean concurrent code.  They learn the pitfalls that await concurrent code development efforts and how to avoid them. They also learn how to structure their code and unit tests to greatly increase their chances of finding concurrency-related defects.


This course uses a mix of lectures, exercises and class discussions. At the end of the course students will have written a significant amount of concurrent code.



  • Understand the basics of Concurrent programming
  • Learn the principles of designing concurrent systems.
  • Get a fundamental understanding of why concurrent programming can be so difficult
  • Get a better understanding of what is and is not an atomic operation
  • Obtain a deep understanding of how multiple threads can interfere with each other
  • Solve the problem of multiple threads by effectively creating and managing critical sections
  • Understand key algorithms that are the cornerstone of writing concurrent code
  • Learn the challenges of testing concurrent code
  • Learn how to drastically increase your changes of finding defects in concurrent code
  • Learn how to avoid introducing errors in the first place
  • Learn about and use several of the Java 5 Extensions
  • Experiment with different solutions to avoiding deadlock and their ramifications.


Detailed Outline



  • A solid foundation in Java programming



  • 4 day



  • $2000
  • Price includes course notes and workbooks


Registration and Start Dates

To request an onsite or private course or for more information about registration and start dates, call 1-847-249-4209 or click here to email


Register now button


Onsite Requirements

Register Today!

Call 1-847-249-4209

Register by email...

Request a custom course...

©2006 Object Mentor Inc | Privacy Statement | Terms of Use