Reduces the recursion count for upgradeable mode, and exits upgradeable mode if the resulting count is 0 (zero).
This method is not sensitive to recursion order. For example, if a thread enters a lock in upgradeable mode and then enters the lock in write mode, the order in which the thread exits the two modes does not matter. If a lock allows recursion, a thread can enter the lock in write mode and then enter it recursively in upgradeable mode; the order in which the thread exits upgradeable mode and write mode does not matter.
Exiting the lock might signal other waiting threads.