David Holmes, DSTC Australia
|
Tutorial's Introduction to Concurrent Programming in Java Concurrent programming has mostly been the domain of systems programmers rather than application developers, but Java's support of concurrency has enticed many to try their hand at concurrent applications. However concurrent programming poses many traps for the unwary. This introductory tutorial shows you how to correctly and effectively use Java's concurrency mechanisms and looks at object structures and design rules that can successfully resolve the competing forces (safety, liveness, efficiency, coordination, reusability) present in concurrent software design problems. Designing Concurrent Object-Oriented Programs in Java Concurrent programming has mostly been the domain of systems programmers rather than application developers, but Java's support of concurrency has enticed many to try their hand at concurrent applications. Effectively creating and managing concurrency within an application poses many design choices and trade-offs. This tutorial looks at more advanced issues in designing concurrent applications by describing mechanisms for introducing concurrency into applications (threads, message-passing, asynchronous calls) that can successfully resolve the competing forces (safety, liveness, efficiency, coordination, reusability) present in concurrent software design problems. Time permitting, the tutorial also shows how concurrency controls can be abstracted into reusable support classes. Introduction to Concurrent Programming in Java: Monday 13:00 - 15:00 Designing Concurrent Object-Oriented Programs in Java: Tuesday 10:00 - 12:00 Biography: David Holmes is a Senior Research Scientist at the Cooperative Research Centre for Enterprise Distributed Systems Technology (DSTC Pty, Ltd.), in Brisbane, Australia. He completed his Ph.D. in the area of synchronization within object-oriented system and has been involved in concurrent programming for a number of years. He is a co-author of the third edition of the Java Series book "The Java Programming Language." |