A read/write lock.
Executes the given action under a read lock.
Executes the given action under a write lock.