Concurrency provides a thoroughly updated approach to the basic concepts and techniques behind concurrent programming. Concurrent programming is complex and demands a much more formal approach than sequential programming. In order to develop a thorough understanding of the topic Magee and Kramer present concepts, techniques and problems through a variety of forms: informal de*ions, illustrative examples, abstract models and concrete Java examples. These combine to provide problem patterns and associated solution techniques which enable students to recognise problems and arrive at solutions. New features include: New chapters covering program verification and logical properties. More student exercises. Supporting website contains an updated version of the LTSA tool for modellingconcurrency, model animation, and model checking. Website also includes the full set of state models, java examples, and demonstration programs and a comprehensive set of overhead slides for course presentation.
作者簡(jiǎn)介
暫缺《并行性:狀態(tài)模型與Java程序》作者簡(jiǎn)介
圖書(shū)目錄
Preface Acknowledgments 1 Introduction 1.1 Concurrent Programs 1.2 The Modeling Approach 1.3 Practice 1.4 Content Overview Summary Notes and Further Reading 2 Processes and Threads 2.1 Modeling Processes 2.2 Implementing Processes Summary Notes and Further Reading Exercises 3 Concurrent Execution 3.1 Modeling Concurrency 3.2 Multi-Threaded Programs Summary Notes and Further Reading Exercises 4 Shared Objects and Mutual Exclusion 4.1 Interference 4.2 Mutual Exclusion in Java 4.3 Modeling Mutual Exclusion Summary Notes and Further Reading Exercises 5 Monitors and Condition Synchronization 5.1 Condition Synchronization 5.2 Semaphores 5.3 Bounded Buffers 5.4 Nested Monitors 5.5 Monitor Invariants Summary Notes and Further Reading Exercises 6 Deadlock 6.1 Deadlock Analysis 6.2 Dining Philosophers Problem Summary Notes and Further Reading Exercises 7 Safety and Liveness Properties 7.1 Safety 7.2 Single-Lane Bridge Problem 7.3 Liveness 7.4 Liveness of the Single-Lane Bridge 7.5 Readers–Writers Problem Summary Notes and Further Reading Exercises 8 Model-Based Design 8.1 From Requirements to Models 8.2 From Models to Implementation Summary Notes and Further Reading Exercises 9 Dynamic Systems 9.1 Golf Club Program 9.2 Golf Club Model 9.3 Fair Allocation 9.4 Revised Golf Ball Allocator 9.5 Bounded Overtaking 9.6 Bounded Overtaking Golf Ball Allocator 9.7 Master–Slave Program 9.8 Master–Slave Model Summary Notes and Further Reading Exercises 10 Message Passing 11 Concurrent Architectures 12 Timed Systems 13 ihl Program Verification 14 Logical Properties Appendix A: FSP Quick Reference Appendix B: FSP Language Specification Appendix C: FSP Semantics Appendix D: UML Class Diagrams Bibliography Index