Releases this lock.
If this lock object is valid then invoking this method releases the lock and renders the object invalid. If this lock object is invalid then invoking this method has no effect.
|If the channel that was used to acquire this lock is no longer open|
|If an I/O error occurs|