Program (2mb PDF)

  Invited Speakers
  Research Papers
  Student Research Comp.
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
  Practitioner Reports
  Lightning Talks
  Instant Arts School Exp.
Other Events
Resort Map (364kb PDF)
Resort Map (JPG)



view, help

"Introduction to Concurrent Programming in Java 5.0"




  > Tutorials > All Tutorials

 : Monday Morning Tutorials (8:30 - 12:00) : Languages and Paradigms : Monday : Programming Techniques

Introduction to Concurrent Programming in Java 5.0

Pacific Salon 5
Monday, 8:30, half day



David Holmes, DLTeCH Pty Ltd
Brian Goetz, Quiotix Corp

Tutorial number: 20

Concurrent programming has mostly been the domain of systems programmers rather than application developers, but Java's support for concurrency has enticed many to try their hand at building concurrent applications. Concurrent programming poses many traps for the unwary, however.

This tutorial demonstrates various design patterns and techniques for constructing concurrent applications in Java and for managing that concurrency. On the language side, we examine Java's mechanisms to support concurrent programming, together with some of the more advanced API's from the java.util.concurrent package. On the design side, we explore object structures and design rules that can successfully resolve the competing forces (safety, liveness, efficiency, coordination, reusability) present in concurrent software design problems.

Beginner: It is assumed that the attendee is familiar with basic OO concepts and has a working knowledge of the Java programming language.

David Holmes, DLTeCH Pty Ltd:  David Holmes is Director and Chief Scientist of DLTeCH Pty Ltd, located in Brisbane, Australia. His work with Java technology has focused on concurrency and synchronization support in the language and virtual machine and he has most recently been working on a real-time Java virtual machine. David was a member of the JCP Expert Group for JSR-166 "Concurrency Utilities", that shipped in the Java 5.0 release. He has presented tutorials on concurrent Java programming and design at numerous international object-oriented programming conferences over the past eight years. Along with Ken Arnold and James Gosling, he is a co-author of the book "The Java Programming Language" - Third and Fourth Editions. David completed his Ph.D. at Macquarie University, Sydney, in 1999, in the area of synchronization within object-oriented systems.

Brian Goetz, Quiotix Corp:  Brian Goetz is a Principal Consultant at Quiotix, a software development and consulting firm in Los Altos, California. He has published over 60 articles on Java development in major industry publications. Brian was a member of the JCP Expert Group for JSR-166 "Concurrency Utilities", that shipped in the Java 5.0 release. He is also a current member of the JCP Expert group for JSR 107 "Java Temporary Caching API". He is a co-author of the book "Java Concurrency in Practice", to be published in October 2005 by Addison-Wesley.