问题 单项选择题

下列说法正确的是

A) 共享数据的所有访问都必须作为临界区
B) 用synchronized保护的共享数据可以是共有的
C) Java中对象加锁不具有可重入性
D) 对象锁不能返还

答案

参考答案:A

解析: 本题考查对象加锁的相关概念。对于对象加锁的使用有些注意事项。对象的锁在某些情况下可以由持有线程返还,比如当 synchronized语句块执行完成后;当在 synchronized语句块中出现异常;当持有锁的线程调用该对象的wait()方法,由此可见选项D说法错误。共享数据的所有访问都必须作为临界区,使用 synchronized进行加锁控制,选项A说法正确。用 synchronized保护的共享数据必须是私有的,选项B说法错误。Java中对象加锁具有可重入性,选项C说法错误。

单项选择题
问答题