ReadWrite locks were covered in lecture 12, Synchronisation in
Java II. Note that, for consistency with the problem specification
(and the fully synchronized version) the methods ignore interrupts
during lock acquisition. (The lock() and unlock() methods of the Lock
interface implemented by the read and write locks provided by the
ReentrantReadWriteLock class ignore interrupts during lock acquisition.)
This ensures that methods on the BinarySearchTree, once invoked, are
guaranteed to complete. If a thread is interrupted while performing an
operation on the tree, it returns normally with the interrupted status
set to true.
Last modified: 11:06, 18-Mar-2008