pSather 1.1 : A Tutorial Introduction
J. Feldman

Sather Documentation Page | Sather Home Page || Most recent Postscript

Please send comments, corrections and suggestions to: jfeldman@icsi.berkeley.edu. Please provide refer to the postscript version, which will be more recent than the HTML version.
Introduction

The Threaded Extension
2.1 Introduction
2.1.1 Hello Worlds
2.2 Realistic Examples Using Threads

The Synchronization Extension
3.1 Barrier Synchronization and sync
3.2 The lock Statement and the MUTEX Class
3.2.1 Memory Consistency, Round One
3.3 Conjunctive Locking
3.3.1 Read-Write Locks, three kinds
3.3.2 Tuple Space, Round 1
3.3.3 Disjunctive Locking
3.4 GATE and GATE{T} classes
3.4.1 Gates as Synchronizers and Queues
3.4.2 Tuple Space, Round Two
3.5 GATES and attached threads
3.5.1 Tasks, Actors, etc.
3.5.2 Discussion and Extensions

Performance and The Distributed Extension
4.1 Introduction
4.2 Placement and the @ operator.
4.2.1 Tuple Spaces, Round Three
4.3 Addresses and the with ... near construct

Advanced Topics
5.1 Exceptions in pSather
5.1.1 Yielding inside locks
5.1.2 Implementation Considerations
5.1.3 Thread-safe libraries
5.2 User defined $LOCK classes
5.2.1 Reservable, Reserve and Free
5.2.2 Primary
5.2.3 Request_reservation, Cancel_reservation
5.2.4 Combinations
5.2.5 Wait_for
5.2.6 Summary

Contents Overview Page Sather Documentation Page Sather Home Page