2009年2月26日 星期四

第222題

Given:
10. public class Starter extends Thread{
11. private int x = 2;
12. public static void main(String[] args) throws Exception{
13. new Starter().makeItSo();
14. }
15. public Starter(){
16. x = 5;
17. start();
18. }
19. public void makeItSo() throws Exception{
20. join();
21. x = x - 1;
22. System.out.println(x);
23. }
24. public void run(){x *= 2;}
25. }

What is the output if the main() method is run?

A. 4
B. 5
C. 8
D. 9
E. Compilation fails.
F. An exception is thrown at runhime.
G. It is impossible to determine for certain.
答案:D
參考:13-2 Java執行緒與Thread類別、13-3 Runnable介面
----------------------------------------------------
17. start();//開第二條Thread

19. public void makeItSo() throws Exception{
20. join(); //等次Thread做完後才繼續

沒有留言:

張貼留言