Java 锁基础知识考试

Q1:1. wait()方法可以在哪里被执行

A.任意位置
B.【无】锁的代码段里
C.【有】锁的代码段里

Q2:2. wait()方法是否释放锁

A. 释放
B. 不释放

Q3:3.假设线程A和B都执行了 obj.wait()方法,现在线程C调用了obj.notify(),那么被唤醒的是哪个线程() 答案

A. 线程A
B. 线程B
C.线程A和B
D. 随机唤醒

Q4:4. 假设class A 有个静态方法a,a方法被synchronized修饰,那么线程A和线程B是否能够同时执行豹不同A实例的方法a ()

A. 可以
B. 不可以

Q5:5. 执行notify方法之后,被唤醒的那个线程是否直接获取了锁 ()

A.是
B.不是

Q6:6. volatile 关键字保证了内存的可见性。那么 volatile int i = 1; i++; 是否线程安全()

A. 安全
B. 不安全

Q7:7. 工作线程是否可以直接操作主内存() 答案 B

A. 可以
B. 不可以

Q8:8. Synchronized 与 ReentrentLock都是可重入锁()

A. 是
B. 不是

Q9:9. 请看下面代码,假设运行时A.a()方法抛出了异常,那么锁是否能够释放()Lock lock =new ReentrantLock();public void m() { lock.lock(); // block until condition holdsA.a();lock.unlock()}

释放
不释放

Q10:不释放

释放
问卷网
Java 锁基础知识考试
关于
1年前
更新
0
频次
10
题目数
分享