Description

Book Synopsis
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.

Table of Contents
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.

10.1 Synchronous Message Passing.

10.2 Asynchronous Message Passing.

10.3 Rendezvous.

Summary.

Notes and Further Reading.

Exercises.

11. Concurrent Architectures.

11.1 Filter Pipeline.

11.2 Supervisor–Worker.

11.3 Announcer–Listener.

Summary.

Notes and Further Reading.

Exercises.

12. Timed Systems.

12.1 Modeling Timed Systems.

12.2 Implementing Timed Systems.

12.3 Parcel Router Problem.

12.4 Space Invaders.

Summary.

Notes and Further Reading.

Exercises.

13.ihl Program Verification.

13.1 Sequential Processes.

13.2 Modeling Condition Synchronization.

13.3 Modeling Variables and Synchronized Methods.

13.4 Bounded Buffer Example.

13.5 Readers–Writers Example.

Summary.

Notes and Further Reading.

Exercises.

14. Logical Properties.

14.1 Fluent Propositions.

14.2 Temporal Propositions.

14.3 Fluent Linear Temporal Logic (FLTL).

14.4 Database Ring Problem.

Summary.

Notes and Further Reading.

Exercises.

Appendix A: FSP Quick Reference.

Appendix B: FSP Language Specification.

Appendix C: FSP Semantics.

Appendix D: UML Class Diagrams.

Bibliography.

Index.

Concurrency

Product form

£53.96

Includes FREE delivery

RRP £59.95 – you save £5.99 (9%)

Order before 4pm today for delivery by Wed 31 Dec 2025.

A Hardback by Jeff Magee, Jeff Kramer

15 in stock


    View other formats and editions of Concurrency by Jeff Magee

    Publisher: John Wiley & Sons Inc
    Publication Date: 21/04/2006
    ISBN13: 9780470093559, 978-0470093559
    ISBN10: 0470093552

    Description

    Book Synopsis
    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.

    Table of Contents
    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.

    10.1 Synchronous Message Passing.

    10.2 Asynchronous Message Passing.

    10.3 Rendezvous.

    Summary.

    Notes and Further Reading.

    Exercises.

    11. Concurrent Architectures.

    11.1 Filter Pipeline.

    11.2 Supervisor–Worker.

    11.3 Announcer–Listener.

    Summary.

    Notes and Further Reading.

    Exercises.

    12. Timed Systems.

    12.1 Modeling Timed Systems.

    12.2 Implementing Timed Systems.

    12.3 Parcel Router Problem.

    12.4 Space Invaders.

    Summary.

    Notes and Further Reading.

    Exercises.

    13.ihl Program Verification.

    13.1 Sequential Processes.

    13.2 Modeling Condition Synchronization.

    13.3 Modeling Variables and Synchronized Methods.

    13.4 Bounded Buffer Example.

    13.5 Readers–Writers Example.

    Summary.

    Notes and Further Reading.

    Exercises.

    14. Logical Properties.

    14.1 Fluent Propositions.

    14.2 Temporal Propositions.

    14.3 Fluent Linear Temporal Logic (FLTL).

    14.4 Database Ring Problem.

    Summary.

    Notes and Further Reading.

    Exercises.

    Appendix A: FSP Quick Reference.

    Appendix B: FSP Language Specification.

    Appendix C: FSP Semantics.

    Appendix D: UML Class Diagrams.

    Bibliography.

    Index.

    Recently viewed products

    © 2025 Book Curl

      • American Express
      • Apple Pay
      • Diners Club
      • Discover
      • Google Pay
      • Maestro
      • Mastercard
      • PayPal
      • Shop Pay
      • Union Pay
      • Visa

      Login

      Forgot your password?

      Don't have an account yet?
      Create account