I.lib()/I.lib(Java)
Thread 의 currentThread() , interrupt() , join() 테스트 결과
.07274.
2013. 1. 15. 16:17
Thread 를 테스트 해보았다.
1.
Thread serverThread = Thread.currentThread();
System.out.println("Name : " + serverThread.getName());
결과값은 Main 이 나온다. 기본적으로 Java 의 Main 을 실행시키면 Main 은 Thread로 실행되기 때문이다.
2.
this.serverThread.interrupt();
Thread.sleep(2000);
결과는 sleep interrupt 라는 Exception 이 나온다. 아마도 interrupt 라는 명령은 더이상 main Thread(메서드)
가 추가 Thread(sleep 스레드 건 부분) 를 생성할수 없게 한듯 하다.
3.
this.serverThread.join();
System.out.println("Hello");
결과는 무한 대기를 탄다. 이유는 join() 을 실행하면 main 메서드가 끝나기를 기다렸다가(락) 지정 스레드(main)가
끝이 나아 다음으로 진행하기 때문이다. (이부분은 테스트로 확인됨.)