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