| 533 | -------------------------------------------------------------------------------------------------- |
| 534 | == Sync == |
| 535 | * '''Suggested by:''' Vicente J. Botet Escriba |
| 536 | * '''Description:''' |
| 537 | * Lock traits: very specific traits classes, some of them encapsulate a single trait for a Lockable type; for example, is a lock recursive (is_recursive), is useful in a multi threaded context (is_multi_threaded). |
| 538 | * Finding the best lock: Inverse traits can match a lockable type based on specific traits, for a given family of lock types. |
| 539 | * Synchronization familly: A class that will do internal locking can be parameterized by the type of synchronization familly needed to achieve the desired level of concurrency control. This depends of the usage scope of this class, and this can be mono_threaded, multi_threaded, multi_process. |
| 540 | * Strict lockers: A strict_locker is a scoped lock guard ensuring the mutex is locked on the scope of the lock, by locking the mutex on construction and unlocking it on destruction. |
| 541 | * External lockers: An alternative or complementary approach to internal locking is to support external locking for an object - Multiple calls may be grouped within the same externally defined critical region. |
| 542 | * Reverse locker: reverse_lock. |
| 543 | |