选择题:
1.下列关于多线程中锁机制正确的是( BC )。
A.关键字synchronized只能用于方法声明上。//方法,代码块
B.成员方法使用synchronized,那么当前方法的锁对象为当前方法所属的对象 //成员方法成了线程锁的部分,锁住的是this
C.静态方法使用synchronized,那么当前方法的锁对象为当前方法所属对象//静态方法成了同步块,是类对象,当前方法所属对象this就是类对象
D.为了尽量避免多线程带来的安全问题,尽可能的扩大synchronized修饰的代码范围。//倒也不必
2.下列选项中关于synchronized的使用正确的是:( C )。
A.private synchronized Object o; //不能修饰成员属性
B.void go() {
synchronized() { /* code here */ }
} //修饰方法不用加对象
C.public synchronized void go() { /* code here */ }
D.private synchronized(this) void go() { /* code here */ } //修饰方法不用加对象
3.哪个关键字可以对对象加锁?( B