Processes, Tasks, and Monitors: A Comparative Study of Concurrent Programming Primitives
- 1 July 1983
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-9 (4) , 446-462
- https://doi.org/10.1109/tse.1983.234781
Abstract
Three notations for concurrent programming are compared, namely CSP, Ada, and monitors. CSP is an experimental language for exploring structuring concepts in concurrent programming. Ada is a general-purpose language with concurrent programming facilities. Monitors are a construct for managing access by concurrent processes to shared resources. We start by comparing "lower-level" communication, synchronization, and nondeterminism in CSP and Ada and then examine "higher-level" module interface properties of Ada tasks and monitors.Keywords
This publication has 14 references indexed in Scilit:
- Guardians and Actions: Linguistic Support for Robust, Distributed ProgramsACM Transactions on Programming Languages and Systems, 1983
- Task management in Ada—A critical evaluation for real-time multiprocessorsSoftware: Practice and Experience, 1981
- Concurrency Control in Distributed Database SystemsACM Computing Surveys, 1981
- A comparative study of task communication in adaSoftware: Practice and Experience, 1981
- Port directed communicationThe Computer Journal, 1981
- Comments on ADA process communicationACM SIGPLAN Notices, 1980
- Output Guards and Nondeterminism in “Communicating Sequential Processes”ACM Transactions on Programming Languages and Systems, 1980
- High level programming for distributed computingCommunications of the ACM, 1979
- Communicating sequential processesCommunications of the ACM, 1978
- MonitorsCommunications of the ACM, 1974