Concurrent Programming in Java
© 1996-1999 Doug Lea
4.3 Services in Threads
Follow-ups
Readings and Resources
ABCL was among the first concurrent object-oriented languages to
offer Futures as a language construct. See:
-
Yonezawa, Akinori, and Mario Tokoro. Object-Oriented Concurrent
Programming, MIT Press, 1988.
Futures are known as wait-by-necessity constructions in Eiffel// (a
parallel extension to Eiffel). See:
-
Caromel, Denis, and Yves Roudier. "Reactive Programming in
Eiffel//", in Jean-Pierre Briot, Jean-Marc Geib and Akinori
Yonezawa (eds.) Object Based Parallel and Distributed Computing,
LNCS 1107, Springer Verlag, 1996.
Futures and related constructs in the Scheme and Multilisp
programming languages are described in:
-
Dybvig, R. Kent and Robert Hieb. "Engines from Continuations",
Computer Languages, 14(2):109-123, 1989. See also the
Scheme repository.
-
Feeley, Marc. An Efficient and General Implementation of Futures
on Large Scale Shared-Memory Multiprocessors, PhD Thesis,
Brandeis University, 1993.
Additional techniques associated with completion callbacks in
networking applications are described in:
-
Pyarali, Irfan, Tim Harrison, and Douglas
C. Schmidt. "Asynchronous Completion Token", in Robert Martin,
Dirk Riehle, and Frank Buschmann (eds.), Pattern Languages of
Program Design, Volume 3, Addison-Wesley, 1999.
The Null Object pattern is often useful for simplifying callback
designs in which clients do not always require callback
messages. See:
-
Woolf, Bobby. "Null Object", in Robert Martin, Dirk Riehle, and
Frank Buschmann (eds.), Pattern Languages of Program Design,
Volume 3, Addison-Wesley, 1999.
Doug Lea
Last modified: Mon Oct 18 07:26:29 EDT 1999