lock: Lock and Unlock a Mutex
Description
The lock
and unlock
functions allow a user to
specify exclusive or shared access to a resource.
Usage
lock(m, ...)lock.shared(m, ...)
unlock(m, ...)
unlock.shared(m, ...)
Value
The function returns TRUE
if the lock is successfully
called and FALSE
otherwise.
Arguments
- m
a mutex.
- ...
options associated with the mutex being used including
block
which forces the mutex to return immediately after trying
to acquire a lock.
Details
A call to lock
gives exclusive access to a resource; no other
mutex may acquire a lock. A call to to lock.shared
allows other
mutexes to acquire a shared lock on the resource. When shared lock is
called while a exclusive lock has been acquired, the shared lock will
block until the exclusive lock is release. Likewise, if an exclusive lock
is called while a shared lock has been acquired, the exclusive lock will
block until the shared lock is released.
Examples
Run this codem = boost.mutex()
lock(m)
# Some code that needs to be synchronized...
unlock(m)
Run the code above in your browser using DataLab