'Unlock.
The first coroutine in line waiting for `acquire` gets the lock.
If not locked, raise a `RuntimeError`.'

def release(self):

    try:
        self._block.release()
    except ValueError:
        raise RuntimeError('release    unlocked    lock')
