A Locking Process Group is a group of processes that share a single address space, communicating through shared variables. Mutual exclusion is accomplished by acquiring a lock to a shared mutex.
| Concept tag | PG::communication_category | Must be convertible to locking_process_group_tag. |
| Mutex type | PG::mutex | A mutex shared among the processes. Must be a model of the Mutex concept. Note: The Mutex concept is likely to change in the near-term, to permit construction of a mutex from a process group. |
| Scoped lock type | PG::scoped_lock | A scoped lock of a mutex. Must be a model of the ScopedLock concept. |
| Name | Expression | Type | Semantics |
|---|---|---|---|
| Synchronize | synchronize(pg) | void | No process completes its synchronize call until all processes have started synchronize. In additional, synchronize acts as a memory barrier, such that memory requests cannot span the synchronize call. |
Copyright (C) 2005 The Trustees of Indiana University.
Authors: Douglas Gregor and Andrew Lumsdaine