阿摩線上測驗 登入

試題詳解

試卷:104年 - SCJP 201-244#99410 | 科目:OJCP(SCJP)

試卷資訊

試卷名稱:104年 - SCJP 201-244#99410

年份:104年

科目:OJCP(SCJP)

複選題
229. Given: 
1. public class TestFive{ 
2. private int x;
 3. public void foo(){
 4. int current = x; 
5. x = current + 1;
 6. }
 7. public void go(){ 
8. for(int i=0; i<5; i++){ 
9. new Thread(){ 
10. public void run(){
 11. foo(); 
12. System.out.print(x + ", ");
 13. }}.start(); 
14. }}
 Which two changes, taken together, would guarantee the output: 1, 2, 3, 4, 5, ? (Choose two.)
(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}
正確答案:登入後查看