The Harmony Virtual Machine:
Principles and Practice of Concurrent Programming This comprehensive guide
develops the principles and practice of concurrent programming with the Harmony
Virtual Machine. This comprehensive reference guide discusses key ideas such as
critical sections and problems in concurrent programming. It helps readers learn
about Peterson's algorithm for mutual exclusion, various locking mechanisms, and
concurrent data structures. The text also explains advanced synchronization
techniques, such as conditional waiting, reader/writer locks, and monitors. In
addition, this book includes deadlock and starvation concepts. It talks about
distributed systems with consensus algorithms such as Paxos and the protocols
used for authentication, such as Needham-Schroeder. Material is structured to
support theoretical understanding and practical application, making this text
useful for both students and practitioners in concurrent programming.
The Harmony Virtual Machine:
Principles and Practice of Concurrent Programming This comprehensive guide
develops the principles and practice of concurrent programming with the Harmony
Virtual Machine. This comprehensive reference guide discusses key ideas such as
critical sections and problems in concurrent programming. It helps readers learn
about Peterson's algorithm for mutual exclusion, various locking mechanisms, and
concurrent data structures. The text also explains advanced synchronization
techniques, such as conditional waiting, reader/writer locks, and monitors. In
addition, this book includes deadlock and starvation concepts. It talks about
distributed systems with consensus algorithms such as Paxos and the protocols
used for authentication, such as Needham-Schroeder. Material is structured to
support theoretical understanding and practical application, making this text
useful for both students and practitioners in concurrent programming.
This web resource is a comprehensive tutorial
on concurrent and distributed programming with all basics illustrated with
practical examples. It starts with an overview of concurrency, illustrating
critical principles with simple programming examples. Notes provide overviews of
several programming languages-including C, C++, Java, Ada, and Perl-showing how
each approaches concurrency. It encompasses mutual exclusion, message passing,
and both the standard and an enhanced version of the classic Dining Philosophers
problem. It also touches on threading in Java and Ada as well as introduces the
POSIX threads library (pthreads) for C programs. This book is perfect for
students and practitioners who need to know the underpinning of concurrent
programming in different environments.