SCJP 1.6版考題 224

出自 陳富國維基館
前往: 導覽搜尋


Given:
1.   public class Threads4{
2.                public static void main(String[] args){
3.                               new Threads4.go();
4.                }
5.                 public void go(){
6.                                Runnable r = new Runnable(){
7.                                            public void run(){
8.                                                      System.out.print("foo");
9.                                              }
10.                                 };
11.                             Thread t = new Thread(r);
12.                             t.start();
13.                             t.start();
14.               }
15.  }


What is the result?
  A. Compilation fails.
  B. An exception is thrown at runtime.
  C. The code executes normally and prints "foo";
  D. The code executes normally, but nothing is printed.



解答


Ans: B

解說: 一個執行緒只能啟動一次 (t.start()只能下一次),執行緒是物件,物件相關的動作發生問題是在執行時期產生例外,而不是編譯的錯誤。