This book is designed as a first book on concurrent programming and provides a comprehensive introduction to the problems of concurrency. The book builds on the reader's familiarity with sequential programming in a high-level language. It is concerned mainly with the high-level aspects of concurrency, which will be equally applicable to traditional time-sliced or more recent truly parallel systems. Topics covered include: processes and inter-process...