2012년 10월 8일 월요일

OCJP 문제풀이 - Question 6


QUESTION 6
Given:

public class Threads4 {
  public static void main (String[] args) {
    new Threads4().go();
  }

  public void go() {
    Runnable r = new Runnable() {
      public void run() {
        System.out.print("foo");
      }
    };
 
  Thread t = new Thread(r);
  t.start();
  t.start();
  }
}

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.

Answer: B
Section: All

Explanation/Reference:

위 예제는 IllegalThreadStateException 발생원인을 알고 있는지 묻는 문제이다.

하나의 Thread는 실행하면 다시 실행할 수 없다.
하나의 Thread를 반복하여 실행할 경우에 IllegalThreadStateException 이 발생하게된다.

블로그 보관함