Thread 클래스 상속
Thread 클래스를 상속받아 새로운 스레드 클래스를 정의합니다. 이 클래스는 run 메서드를 오버라이딩하여 해당 스레드가 실행할 작업을 구현합니다.
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("스레드 실행");
}
}
스레드 객체 생성
새로 정의한 스레드 클래스의 객체를 생성합니다.
MyThread thread = new MyThread();
스레드 실행
스레드 객체의 start() 메서드를 호출하여 스레드를 실행시킵니다. start() 메서드는 스레드의 실행을 위한 준비를 하고, run() 메서드를 호출하여 스레드의 작업을 실행합니다.
thread.start();
스레드 동작
스레드가 실행 중일 때, run() 메서드 내의 작업이 별도의 실행 흐름에서 동작합니다. 이때 여러 스레드가 동시에 작업을 수행하게 됩니다.
스레드 종료
run() 메서드 내 작업이 완료되면 스레드는 종료됩니다. 또한 스레드 실행 중 예외가 발생하거나 명시적으로 중지하도록 프로그래밍할 수 있습니다.
주의사항
스레드 생성 및 실행 시 주의할 점은, 스레드 간의 동기화나 공유 자원의 관리와 같은 다중 스레드 환경에서 발생할 수 있는 문제입니다.
다중 스레드 환경에서의 동기화와 race condition같은 문제를 처리하기 위해 synchronized 키워드를 활용해서 해결해야됩니다.
'JAVA > 스레드' 카테고리의 다른 글
[JAVA] 공유 자원과 경쟁 상태와 임계 영역 (0) | 2023.09.11 |
---|---|
[JAVA] 스레드 우선순위 설정과 데몬 스레드 (0) | 2023.08.30 |
[JAVA] Runnable 인터페이스와 Thread 클래스(sleep, join, interrupt) (0) | 2023.08.30 |
[JAVA] 스레드의 생명 주기 및 상태 전이 (0) | 2023.08.30 |
[JAVA] 프로세스와 스레드의 차이 (0) | 2023.08.30 |