Thread-1がオブジェクトで同期するとします
synchronize(object){
//statement1
//statement2
//statement3
}
Thread-1がstatement2でクラッシュした場合、オブジェクトのロックはどうなりますか?これが発生すると、JVMはThread-1のロックを自動的に解放しますか?そうしないと、Thread-2がオブジェクトのロックが解除されるのを待っていて、Thread-1がクラッシュした場合、Thread-2は永久に待機するためです。