LISP
Fundamenta Informaticae - Special issue on formal language theory
Java Threads
Monitors: an operating system structuring concept
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Complexity of expressions allowing concurrency
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Workflow and Process Synchronization with Interaction Expressions and Graphs
Proceedings of the 17th International Conference on Data Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Synchronization of Concurrent Workflows Using Interaction Expressions and Coordination Protocols
On the Move to Meaningful Internet Systems, 2002 - DOA/CoopIS/ODBASE 2002 Confederated International Conferences DOA, CoopIS and ODBASE 2002
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
Attribute Types and Bracket Implementations
TOOLS '97 Proceedings of the Technology of Object-Oriented Languages and Systems - Tools-25
Software Descriptions with Flow Expressions
IEEE Transactions on Software Engineering
Synchronization of Concurrent Workflows Using Interaction Expressions and Coordination Protocols
On the Move to Meaningful Internet Systems, 2002 - DOA/CoopIS/ODBASE 2002 Confederated International Conferences DOA, CoopIS and ODBASE 2002
Enriching Java Enterprise interfaces with formal sequential contracts
Proceedings of the Third Workshop on Behavioural Modelling
Hi-index | 0.00 |
Thread synchronization in Java using synchronized methods or statements is simple and straightforward as long as mutual exclusion of threads is sufficient for an application. Things become less straightforward when wait() and notify() have to be employed to realize more flexible synchronization schemes. Using two well-known examples, the bounded buffer and the readers and writers problem, the traps and snares of hand-coded synchronization code and its entanglement with the actual application code are illustrated. Following that, interaction expressions are introduced as a completely different approach where synchronization problems are solved in a declarative way by simply specifying permissible execution sequences of methods. Their integration into the Java programming language using a simple precompiler and the basic ideas to enforce at run time the synchronization constraints specified that way are described.