2

スコープを離れるときにリソースを解放する (この場合は ReadWriteLock のロックを解除する) 最良の方法は何ですか? 考えられるすべての方法 (リターン、ブレーク、例外など) をカバーするにはどうすればよいですか?

4

3 に答える 3

12

try/finally ブロックは、この動作に最も近いものです。

Lock l = new Lock();
l.lock();  // Call the lock before calling try.
try {
    // Do some processing.
    // All code must go in here including break, return etc.
    return something;
} finally {
    l.unlock();
}
于 2008-09-30T06:05:11.287 に答える
2

マイクが言ったように、最後のブロックはあなたの選択でなければなりません。それが述べられているfinallyブロックチュートリアルを参照してください:

finallyブロックは、tryブロックが終了するときに常に実行されます。これにより、予期しない例外が発生した場合でも、finallyブロックが確実に実行されます。

于 2008-09-30T06:20:14.540 に答える