多项选择题
Which two changes, taken together, would guarantee the output: 1, 2, 3, 4, 5?()
A.move the line 12 print statement into the foo() method
B.change line 7 to public synchronized void go(){
C.change the variable declaration on line 2 to private volatile int x;
D.wrap the code inside the foo() method with a synchronized(this) block
E.wrap the for loop code inside the go() method with a synchronized block synchronized(this){//for loop code here}
相关考题
-
多项选择题
Whichthreewillcompileandrunwithoutexception?()
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 */}
E.void go(){ synchronized(Object.class){/* code here */}
F.void go(){ Object o = new Object(); synchronized(o){/* code here */} -
单项选择题
What can be a result?()
A.Compilation fails.
B.An exception is thrown at runtime.
C.The code executes and prints "StartedComplete".
D.The code executes and prints "StartedComplete0123".
E.The code executes and prints "Started0123Complete". -
多项选择题
Whichtwoof statementsaretrue?()
A.It is possible to synchronize static methods.
B.When a thread has yielded as a result of yield(), it releases its locks.
C.When a thread is sleeping as a result of sleep(), it releases its locks.
D.The Object.wait() method can be invoked only from a synchronized context.
E.The Thread.sleep() method can be invoked only from a synchronized context.
F.When the thread scheduler receives a notify() request, and notifies a thread, that thread immediately releases its lock.
