This note covers the following topics: Shared Variable Programming,
Proof Outline Logic for concurrent programs, Mutual exclusion and Petersen's
algorithm, Barrier synchronization and flag synchronization, Semaphores,
Monitors, Distributed Programming, Remote Procedure Call and RMI, Transactional
memory.
This note is largely
concerned with explicit concurrency, where concurrent behavior is specified by
the program designer. It also includes a brief introduction to
performance-oriented concurrency, where concurrency is used to improve program
performance by taking advantage of hardware support for parallel processing.
Topics covered includes: Nature of Concurrent Programs, Problems in Concurrent
Programs, Properties of Concurrent Programs, Executing Concurrent Programs,
Program Construction and Common Applications.