Learn R Programming

synchronicity (version 1.3.10)

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 code
m = boost.mutex()
lock(m)
# Some code that needs to be synchronized...
unlock(m)

Run the code above in your browser using DataLab