Published June 1, 1996 | Version Submitted
Technical Report Open

Reliable Synchronization Primitives for Java

Abstract

Java is an architecture-independent, object-oriented language designed to facilitate code-sharing across the Internet in general, via the Web in particular. Java is multithreaded, providing thread creation and synchronization constructs based on generalized monitors. Although these primitives are appropriate for many windowing applications, they are not necessarily well-suited for the larger class of multithreaded programs that occur as part of distributed systems. We demonstrate how the Java primitives, in conjunction with the object-oriented aspects of the language, can be used to implement a collection of other traditional synchronization paradigms. These paradigms are formally specified, their implementations are rigorously verified, and their use is illustrated with several examples.

Additional Information

© 1996 California Institute of Technology. June 1, 1996. This research was supported in part by NSF/PSE grant CCR-9527130, by AFOSR grant AFOSR-91-0070, and by an IBM Computer Science Fellowship.

Attached Files

Submitted - 96-11.pdf

Submitted - 96-11.ps

Files

96-11.pdf

Files (403.0 kB)

Name Size
md5:3267ded46a0d7e54bbdb41e10af1cae8
213.8 kB Preview Download
md5:4701104b84156056be741a7d68ad2e10
189.3 kB Download

Additional details

Identifiers

Eprint ID
26892
Resolver ID
CaltechCSTR:1996.cs-tr-96-11

Funding

NSF
CCR-9527130
Air Force Office of Scientific Research (AFOSR)
AFOSR-91-0070
IBM

Dates

Created
2001-05-14
Created from EPrint's datestamp field
Updated
2019-10-03
Created from EPrint's last_modified field

Caltech Custom Metadata