给定一个共享的 `Bank` 对象,多个线程并发执行取款操作。以下关于使用 `synchronized` 关键字进行线程同步的描述,哪一项是**最准确的**?
答案解析
A选项错误,`synchronized`关键字作用于方法或代码块时,锁定的是对象实例,而非所有方法。其他非同步方法可以并发访问该对象。B选项正确,对于同一个对象实例,无论`synchronized`块的代码内容是什么,只要它们基于同一个对象实例的锁,都会发生互斥等待。C选项错误,synchronized(bank)作用于整个代码块,不仅包括if条件判断,还包括其内部的取款和输出操作。D选项正确,JVM会自动释放锁以避免死锁。
正确答案:B