33
Thread support library
[thread]
33.2
Requirements
[thread.req]
33.2.5
Requirements for
Lockable
types
[thread.req.lockable]
33.2.5.2
BasicLockable
requirements
[thread.req.lockable.basic]
1
#
A type
L
meets the
BasicLockable
requirements if the following expressions are well-formed and have the specified semantics (
m
denotes a value of type
L
)
.
m.lock()
2
#
Effects:
Blocks until a lock can be acquired for the current execution agent
.
If an exception is thrown then a lock shall not have been acquired for the current execution agent
.
m.unlock()
3
#
Requires:
The current execution agent shall hold a lock on
m
.
4
#
Effects:
Releases a lock on
m
held by the current execution agent
.
5
#
Throws:
Nothing
.