The type of read/write locks that are indeed peirs of associated
locks where the read lock can be held simultaneously by any number of
threads as long as the write lock is available, while the write lock
can be help by at most one thread at a time.
Returns a new read/write lock, whose read and write locks are
reentrant, the parameter indicates whether a fair ordering policy
is requested (defaulting to false); see
ReentrantReadWriteLock(...).