Communicating sequential processes
Communicating sequential processes
Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Software—Practice & Experience
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
Concurrent C++: concurrent programming with class(es)
Software—Practice & Experience
Experience with Multiple Processor Versions of Concurrent C
IEEE Transactions on Software Engineering
The notion of priority in real-time programming languages
Computer Languages
The C programming language
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience with processes and monitors in Mesa
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Synchronization of communicating processes
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
ICSE '79 Proceedings of the 4th international conference on Software engineering
Evaluating synchronization mechanisms
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Language features for process interaction
Proceedings of an ACM conference on Language design for reliable software
The problem of nested monitor calls
ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review
Rationale for the design of the Ada programming language
ACM SIGPLAN Notices - Rationale for the deisgn of the Ada programming language
About conversations for concurrent OO languages
ACM SIGPLAN Notices
Comparing data synchronization in Ada 9X and Orca
ACM SIGAda Ada Letters
Providing fault-tolerant services to distributed Ada 95 applications
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
An enhanced thread synchronization mechanism for Java
Software—Practice & Experience
Support for Implementation of Evolutionary Concurrent Systems
International Journal of Parallel Programming
A More Expressive Monitor for Concurrent Java Programming
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Computer Languages
A model-driven approach to teaching concurrency
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Concurrent C/C++ is a superset of C and C++ that provides parallel programming facilities based on message passing. Upon porting Concurrent C/C++to a shared memorymultiprocessor, the authors believed it would be appropriate to supplement ConcurrentC/C++ with explicit facilities for synchronizing accesses to shared data structures. Thecapsule, which is a shared memory access mechanism designed especially for ConcurrentC/C++ to match the C++data abstraction facility called the class, is discussed. Capsulesare like monitors but they have significant advantages. Capsules satisfy T. Bloom's (1979) criteria for expressiveness of synchronization conditions, support inheritance, allow operations to execute in parallel, and permit them to time out. The design of capsules is reviewed. The author evaluates existing shared memory mechanisms, describes capsules, gives examples of capsules, compares capsules with monitors, and discusses how capsules are implemented by the Concurrent C compiler.