https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
Java 8 기준
개념과 기술 배경
- 자바는 멀티 쓰레드 기반으로 동시성 프로그래밍을 지원하기 위한 방법들을 계속해서 발전
- Thread, Runnable은 자바 초기부터 멀티 쓰레드를 위해 제공되던 기술.

Java 8 Thread Class Docs 파악
- 스레드는 우선순위를 가짐
- 높은 우선순위 가진 스레드가 낮은 우선순위 스레드보다 우선적으로 실행
- 각 스레드는 데몬(deamon)으로 표시(mark)될 수도 있고 아닐 수도 있음
- 어떤 스레드에서 실행되는 코드가 새로운 Thread 객체를 생성할 때
- 새로운 스레드의 우선순위는 처음에 생성 스레드의 우선순위와 동일하게 설정
- 생성 스레드가 데몬인 경우에 그 스레드는 데몬 스레드가 됨
- JVM 시작시, 대게 single non-daemon thread 가 있음
- JVM이 부팅되면 “메인 스레드” 하나를 만들어서
main()메서드를 실행- 이 스레드는 일반적으로 지정된 클래스의 main이라는 메서드를 호출합니다.
- JVM은 스레드들을 계속 실행시킴. 다음의 현상이 발생할 때 까지
- Runtime.exit() 호출
Runtime클래스의exit메서드가 호출하고, 시큐리니 매니저가 이 익싯 오퍼레이션이 발동하는걸 허락했을 때
- 모든 non-daemon 스레드 종료
run()다 실행하고 리턴run()안에서 예외 발생- 데몬 스레드만 있으면 JVM은 죽음.
- Runtime.exit() 호출
Java 8 기준 Thread Class Code 파악
클래스의 메서드 역할의 경우는 문서를 참고하면 된다. 여기서는 코드 부분에서 공부한 부분을 정리해보았다.
사용 방법
새로운 스레드 생성 및 실행방법은 2가지 있다.
- 클래스를
Thread클래스의 하위 클래스로 선언 Runnable인터페이스를 구체화한 클래스 선언
구체적으로 알아보면
There are two ways to create a new thread of execution. One is to declare a class to be a subclass of Thread. This subclass should override the run method of class Thread. An instance of the subclass can then be allocated and started. For example, a thread that computes primes larger than a stated value could be written as follows