ECOOP'98 Tutorial T4

12th European Conference on Object-Oriented Programming
Brussels, Belgium, July 20 - 24, 1998

Tutorial T4

T1  T2  T3   T4   T5   T6   T7   T8   T9   T10   T11   T12   T13   T14   T15   T16  

Designing Concurrent Object-Oriented Programs in Java

Organizers: Professor Doug Lea
Computer Science Department,
State University of New York at Oswego
David Holmes
Microsoft Research Institute
Macquarie University Sydney
Day: Monday morning & afternoon (full day)
Level: Intermediate
Room: C304 (4th floor)

Concurrent programming has mostly been the domain of systems programmers rather than application developers. Concurrent object-oriented programming has seen a resurgence recently, due mainly to the widespread acceptance of the Java programming language. Java's support for concurrent programming has enticed many developers to try their hand at concurrent applications, yet the use of concurrency within an application poses many traps for the unwary.

This tutorial demonstrates various design patterns and techniques for constructing concurrent object-oriented applications in Java and for managing that concurrency in an effective way. We look at the mechanisms and classes Java provides to support concurrent programming, what guarantees it makes regarding concurrent behaviour and we look at some concurrency issues that arise in the Java libraries. On the design side we look at object structures and design rules that can successfully resolve the competing forces (safety, liveness, efficiency, coordination, reusability) present in concurrent software design problems.

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 is a Ph.D. student with the Microsoft Research Institute at Macquarie University, Sydney, researching more adaptable, flexible and re-usable approaches to synchronisation in concurrent object-oriented programs. He has a degree in Computer Systems Engineering and practical experience with concurrent programming through work on operating systems, distributed systems and real-time embedded systems, within a university environment.

ECOOP'98 Home Page | Conference at a Glance | Organization
Technical Programme | Tutorials | Workshops | Panels | Exhibits | Demonstrations | Posters
Social Programme | Partner's Programme | Accommodation | Useful to Know | Registration

Last modified on July 6, 1998. Maintained by the ECOOP'98 information team.