ECOOP /
Tutorial 23
Java Concurrency Utilities: Tools for Managing Multi-threading
| Topic |
Concurrent programming utilities for Java |
| Goal |
This tutorial will show participants how a good concurrency library can simplify concurrent program design and implementation, and introduce them to such a library that is proposed for Java. |
| Style |
Plain presentation |
Abstract
Semaphores and mutexes, latches and gates, pools and executors - these are all tools for managing threads within our applications. Each tool has its own properties and purpose and when used correctly can greatly simplify concurrent program design.
The Java programming language has turned a generation of applications programmers into concurrent programmers through its direct support of multithreading. However, the Java concurrency primitives are just that: primitive. From them you can build many concurrency utilities, but doing so takes great care as concurrent programming poses many traps for the unwary. Designing concurrent programs that can successfully resolve the competing forces of safety, liveness, efficiency, coordination, and reusability, is a task that can be greatly aided through the use of a good set of tools - a good concurrency utility library.
This tutorial presents the components of a proposed concurrency utility library for the Java platform - being developed under JSR-166. We will look at the purpose and properties of each tool and how it fits into the concurrent design puzzle. We will also look at proposed extensions to the Java concurrency primitives.
Presenter Profile
Doug Lea
Doug Lea is a professor of Computer Science at the State University of New York at Oswego. He is author of the Java Series book "Concurrent Programming in Java: Design Principles and Patterns", co-author of the book "Object-Oriented System Development", and the author of several widely used software packages, as well as articles and reports on object-oriented software development.
David Holmes
David Holmes is an independent consultant currently working on real-time Java technology. He specialises in concurrency and synchronization in the Java platform and has presented tutorials on concurrent Java programming and design at numerous international object-oriented programming conferences. He is a co-author of "The Java Programming Language - Third Edition". David completed his Ph.D. at Macquarie University, Sydney, in 1999.
Details
| Presenter(s) |
Doug Lea, (State University of New York, at Oswego)
David Holmes, (DLTeCH Pty Ltd, Brisbane, Australia)
|
Date Duration |
Monday, 21 half day, afternoon |
| Level |
intermediate |
| Targeted Audience |
This tutorial targets anyone involved, or planning to get involved, in the development of concurrent object-oriented applications in Java.
|
|