Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/named req/BasicLockable"

From cppreference.com
< cpp‎ | named req
m (r2.7.3) (Robot: Adding de, es, fr, it, ja, pt, ru, zh)
m (seealso mutex)
Line 22: Line 22:
 
===See also===
 
===See also===
 
* [[cpp/thread|Thread support library]]
 
* [[cpp/thread|Thread support library]]
 +
* {{concept|Mutex}}
 
* {{concept|Lockable}}
 
* {{concept|Lockable}}
 
* {{concept|TimedLockable}}
 
* {{concept|TimedLockable}}

Revision as of 17:11, 20 September 2013

Template:cpp/concept/title Template:cpp/concept/navbar

The BasicLockable concept describes the minimal characteristics of types that provide exclusive blocking semantics for execution agents (i.e. threads).

Requirements

For type L to be BasicLockable, the following conditions have to be satisfied for an object m of type L:

Expression Requires Effects
m.lock() Blocks until a lock can be obtained for the current execution agent. If an exception is thrown, no lock is obtained.
m.unlock() The current execution agent should hold the lock m. Releases the lock held by the execution agent. Throws no exceptions.

See also