Algorithms for mutual exclusion
Algorithms for mutual exclusion
A review of Ada tasking
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Rendezvous Facilities: Concurrent C and the Ada Language
IEEE Transactions on Software Engineering
The concurrent C programming language
The concurrent C programming language
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
Critical Races in Ada Programs
IEEE Transactions on Software Engineering
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Cell: A Distributed Computing Modularization Concept
IEEE Transactions on Software Engineering
Inter-entry selection control mechanisms: Implementation and evaluation
Computer Languages
Fairness in shared invocation servicing
Computer Languages, Systems and Structures
Hi-index | 0.00 |
Many concurrent programming languages provide selection statements, which allow a task to select one of several entries to service. The choice as to which entry will be selected, if more than one has pending invocations, is generally defined to be non-deterministic. However, such non-deterministic inter-entry selection can result in undesirable program behavior. This paper examines the problems arising from such behavior and the existing approaches to remedy those problems. It indicates the inherent shortcomings of these approaches and purposes a new, more expressive extension of these approaches that remedies these shortcomings. This paper also considers how the different approaches can be implemented.