LISP and Symbolic Computation, 6(1/2)177-200

EULISP Threads: A Concurrency Toolbox

Neil Berrington, University of Southampton, UK
Peter Broadbery, University of Bath, UK
David De Roure, University of Southampton, UK
Julian Padget, University of Bath, UK

Abstract: Many current high level languages have been designed with support for concurrency in mind, providing constructs for the programmer to build explicit parallelism into a program. The EULISP threads mechanism, in conjunction with locks, and a generic event waiting operation provides a set of primitive tools with which such concurrency abstractions can be constructed. The object system (TELOS) provides a powerful approach to building and controlling these abstractions. We provide a synopsis of this `concurrency toolbox', and demonstrate the construction of a number of established abstractions using the facilities of EULISP: pcall, futures, stack groups, channels, CSP and Linda.

Keywords: concurrency, objects, threads, channels, Linda, futures, communicating sequential processes

[local copy]
[picture of journal cover]

May 2003 - hosc@brics.dk