下列情况中,不会使线程返回所持有的对象锁的是A.当synchronized()语句块执行完毕B.当调用了线程

题目内容(请给出正确答案)

下列情况中,不会使线程返回所持有的对象锁的是

A.当synchronized()语句块执行完毕

B.当调用了线程的suspend()方法

C.当在synchronized()语句块中出现异常(Exception)

D.当持有锁的线程调用该对象的wait()方法

参考答案和解析
正确答案:B
解析:本题考查Java线程中对象的加锁及其操作。对象加锁的使用非常灵活,定要注意。对象的锁在如下几种情况下由持有线程返还:当synchronized()语句块执行完后,所以选项A错误;当在synchronized()语句块中出现异常(exception),所以选项B错误:当持有锁的线程调用该对象的wait()方法,此时该线程将释放对象的锁,所以选项D错误。而当调用了线程的suspend()方法只是使线程暂时停止执行,可以使用其他线程调用resume()方法恢复执行,所以选项B正确。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
更多相关问题