Type Definitions

A synchronous mutual exclusion primitive useful for protecting shared data

A synchronization primitive which can be used to run a one-time initialization.

A synchronous reader-writer lock