-2

この例では:

private ReentrantReadWriteLock mLock = new ReentrantReadWriteLock();

public void method(boolean condition) {
    try {
        mLock.writelock.lock()

        if (condition) {
            mLock.writelock.unlock();
        }
    } finally {
        mLock.writelock.unlock();
    }
}

ステートメント内のロック解除が実行された場合、ブロックmLock.writelock.unlock()内で が呼び出されるとどうなりますか?finallyif

このコードは安全ですか? または、ロックを解除する前にロックがかかっているかどうかを確認する必要がありますか?

4

1 に答える 1