프로세스와 스레드

Java 프로그램은 하나의 프로세스로 만들어져 실행된다.

지금까지는 1프로세스 1스레드, 1개 스레드에서 main()가 호출되며 실행됨(단일스레드)

멀티스레드 : 하나의 프로세스 내에서 여러 스레드가 동시 실행.

멀티스레드

: 하나의 프로세스 내에서 동시 실행되는 여러 스레드

멀티스레드를 사용할 경우, Main스레드에서 자식 스레드를 만들며 여러 스레드가 동시에 독립적으로 실행되고 종료될 수 있다.

Thread 클래스

생성자 설명
Thread() 스레드 생성. 이름은 자동으로 ‘Thread-n’으로 주어짐
Thread(String name) 이름을 name으로 지정해 생성
Thread(Runnable target) 스레드 생성, 실행되며 target객체의 run()이 실행 (이름은 자동)
Thread(Runnable target, String name) 위와 동일하나 이름을 name으로 지정
static Thread currentThread() 실행중인 스레드 객체의 참조값 리턴
String getName() this 스레드 이름 리턴
void setNameI(String name) this 스레드 이름 name으로 변경
int getPriority() this 스레드 우선순위 리턴
void setPriority(int newPriority) this 스레드 우선순위를 newPriority로 변경
void start() run() 호출 → this 스레드 실행

스레드 생성과 실행

  1. Thread 유형 객체 t 생성
  2. t.start() 호출