Check out the new USENIX Web site. Conference on Object-Oriented Technologies and Systems
 
Click underlined text to go directly to that area COOTS'97 Table of Contents
M2AM   Concurrent Programming in Java:
Language and Libraries
Doug Lea, SUNY Oswego and
David Holmes, Macquarie University

Who should attend: Anyone involved or planning to get involved in the development of concurrent Java applications or applets. A basic familiarity with the Java language is assumed.

What you will learn: A detailed working knowledge of Java's concurrency mechanisms and an overview of the little-documented aspects of applet and AWT threading models.

Java directly supports concurrent programming. The use of concurrency adds a new dimension of complexity to application development and introduces its own unique set of problems. This course combines a low-level examination of the Java concurrency model with a higher-level look at specific approaches to concurrency control in the context of the Java language, Java applets, and GUI programming using the Abstract Windowing Toolkit.

Topics include:

- Concurrency in Java: a language tutorial
- Java concurrency mechanisms

  • Threads: creation, initialization, control
  • Synchronization: interference, locks, wait-sets
  • Scheduling: priorities, time-slicing, queuing
- Additional language features
  • Thread groups: control, management
  • Security: security manager, thread restrictions
  • Volatile variables: atomicity, caching, volatility
- Inheritance issues
  • Inheritance model
  • Inheritance anomaly
- Concurrency issues in the Java libraries
- Concurrency in the main Java libraries
- Concurrency in the AWT and applets
  • Abstract Windowing Toolkit: structure, thread model, event handling and drawing
  • Concurrency in applets: structure, thread model, threading semantics
  • Applet security: mechanisms, policies and affects on threading
  • Simple design patterns for common applet/AWT threading situations
Doug Lea is a professor and director of the Software Engineering Laboratory at the New York CASE Center. He is author of Concurrent Programming in Java, and co-author of Object-Oriented System Development. He is the author of several widely-used software packages, as well as articles and reports on object-oriented software development.

David Holmes is a PhD candidate with the Microsoft Research Institute at Macquarie University in Sydney, Australia where he researches concurrent object-oriented programming in practical contexts. He has practical experience with concurrent programming through work on operating systems, distributed systems, and real-time embedded systems within a university environment.

Back to Tutorial Overview

 


Conference & Hotel InfoProgram at a GlanceTutorialsRegistration Advanced Topics WorkshopTechnical SessionsKeynote AddressCOOTS 97