
스레드의 생명주기는 다음과 같이 진행됩니다.
1. 스레드 생성: 스레드가 생성되면 스레드의 상태는 'NEW' 상태가 됩니다.
2. 스레드 시작: 스레드가 시작되면 스레드의 상태는 'RUNNABLE' 상태가 됩니다.
3. 스레드 실행: 스레드가 실행 중인 상태에서 스레드의 상태는 'RUNNABLE' 상태가 유지됩니다.
4. 스레드 종료: 스레드가 종료되면 스레드의 상태는 'TERMINATED' 상태가 됩니다.
스레드가 동시 실행되는 경우 스레드의 상태는 스레드가 실행 중인 상태에서 다른 스레드가 실행을 요청할 경우, 기존 스레드의 상태를 'WAITING' 또는 'TIMED_WAITING' 상태로 변경할 수 있습니다. 이 경우, 스레드는 실행을 멈추고 다른 스레드가 실행을 요청할 때까지 대기 상태에 머물게 됩니다.
스레드의 상태를 관리하는 방법은 다음과 같습니다.
1. 스레드 상태를 체크: 스레드의 상태를 체크하여 스레드가 실행 중인지, 대기 중인지, 종료된지 확인할 수 있습니다.
2. 스레드 상태를 변경: 스레드의 상태를 변경하여 스레드가 실행 중인 상태에서 대기 중인 상태로 변경할 수 있습니다.
3. 스레드 상태를 관리하는 클래스: 스레드 상태를 관리하는 클래스를 사용하여 스레드의 상태를 관리할 수 있습니다. 예를 들어, 'Thread' 클래스의 'join()' 메소드는 스레드의 상태를 체크하고, 스레드가 종료될 때까지 대기 상태에 머물게 합니다.
예를 들어, 다음 코드는 스레드의 상태를 체크하고, 스레드가 종료될 때까지 대기 상태에 머물게 합니다.
#hostingforum.kr
java
public class Main {
public static void main(String[] args) throws InterruptedException {
Thread thread = new Thread(() -> {
System.out.println("스레드가 실행 중입니다.");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
System.out.println("스레드가 종료되었습니다.");
});
thread.start();
thread.join();
System.out.println("메인 스레드가 종료되었습니다.");
}
}
이 코드는 스레드가 실행 중인 상태에서 메인 스레드가 종료될 때까지 대기 상태에 머물게 합니다.
2025-04-04 07:51