티스토리 뷰
public class Thread
extends Object
implements Runnable
All implemented Interfaces : Runnable
Direct Known Subclasses : ForkJoinWorkerThread
JVM은 멀티쓰레딩을 지원.
모든 쓰레드에는 priority가 존재. 높을수록 우선순위가 높음. 코드 상에서 쓰레드 객체가 생성되면 생성이 수행된 해당 쓰레드의 priority를 초기값으로 받음. 데몬 쓰레드에서 생성된 클래스는 데몬쓰레드가 됨.
JVM이 시작될때 보통 main으로 알려진 하나의 데몬이 아닌 싱글 쓰레드가 존재. JVM은 다음과 같은 경우 중 하나가 발생할 때까지 main쓰레드를 계속 수행.
1. java.lang.Runtime 클래스의 exit 메소드가 호출되고 security manager가 이 exit 명령을 허용 할 경우.
2. All threads that are not daemon threads have died, either by returning from the call to the run method or by throwing an exception that propagates beyond the run method.
새로운 쓰레드를 만드는 방법은 2가지가 있음.
첫째는 Thread 클래스를 상속받은 서브클래스를 선언하는 것. 이 서브클래스에서 run 메소드를 오버라이드함.
둘째는 Runnable 인터페이스를 구현한 클래스를 선언하는 것. 이 클래스에서 run 메소드를 구현해야함.
'Dev Story > Java' 카테고리의 다른 글
자바 배열과 레퍼런스 변수 (0) | 2015.10.24 |
---|---|
try-catch-finally 순서 (0) | 2015.10.24 |
인터페이스에서 메소드 구현이 가능하다? (0) | 2015.03.07 |
인터페이스에 변수를 넣을 수 있나? (0) | 2015.03.07 |