Thread — 스레드 클래스
Thread — 스레드 클래스
Thread는 프로그램에서 실행 스레드(thread of execution)예요. 자바 가상 머신은 애플리케이션이 여러 실행 스레드를 동시에 실행하도록 허용해요. Thread는 스레드를 만들기 위한 생성자와 Thread.Builder를 정의해요. 스레드를 시작하면 그 run 메서드를 실행하도록 스케줄링돼요. 새로 시작된 스레드는 그 스레드를 시작시킨 스레드와 동시에 실행돼요. 스레드는 run 메서드가 정상적으로 완료되거나, run 메서드가 갑자기 완료되고 적절한 uncaught 예외 처리기가 정상적으로 또는 갑자기 완료되면 종료돼요.
본문
public static final int MIN_PRIORITY — 스레드가 가질 수 있는 최소 우선순위 (1).
public static final int NORM_PRIORITY — 스레드에 할당되는 기본 우선순위 (5).
public static final int MAX_PRIORITY — 스레드가 가질 수 있는 최대 우선순위 (10).
스레드 생성자:
public Thread() — 새 스레드를 만들어요.
public Thread(Runnable task) — 지정된 태스크로 새 스레드를 만들어요.
public Thread(ThreadGroup group, Runnable task) — 지정된 그룹과 태스크로 스레드를 만들어요.
public Thread(String name) — 지정된 이름으로 스레드를 만들어요.
public Thread(ThreadGroup group, String name) — 지정된 그룹과 이름으로 스레드를 만들어요.
public Thread(Runnable task, String name) — 태스크와 이름으로 스레드를 만들어요.
public Thread(ThreadGroup group, Runnable task, String name) — 그룹, 태스크, 이름으로 스레드를 만들어요.
public Thread(ThreadGroup group, Runnable task, String name, long stackSize) — 스택 크기를 지정해 스레드를 만들어요.
public static Thread currentThread() — 현재 실행 중인 스레드 객체의 참조를 반환해요.
public static void yield() — 현재 스레드가 실행을 일시 중단하고 다른 스레드가 실행되도록 허용해요.
public static void sleep(long millis) throws InterruptedException — 현재 스레드를 지정된 밀리초 동안 일시 중지해요.
public synchronized void start() — 이 스레드가 실행을 시작하게 해요. JVM이 이 스레드의 run 메서드를 호출해요.
public void run() — 이 스레드가 Runnable로 구성되었다면 그 run 메서드를 호출하고, 그렇지 않으면 아무것도 하지 않아요.
public final void setName(String name) ... getName() — 스레드 이름을 설정·반환해요.
public final void setPriority(int newPriority) ... getPriority() — 우선순위를 설정·반환해요.
public final void setDaemon(boolean on) ... isDaemon() — 데몬 여부를 설정·반환해요.
public long getId() — 이 스레드의 ID를 반환해요.
public final void join() ... join(long millis) — 이 스레드가 종료될 때까지 기다려요.
public void interrupt() — 이 스레드를 인터럽트해요.
public static boolean interrupted() ... isInterrupted() — 인터럽트 상태를 검사해요.
public final boolean isAlive() — 이 스레드가 살아있는지 여부를 반환해요 (시작 후 아직 종료되지 않음).
public Thread.State getState() — 이 스레드의 상태를 반환해요.
public static Thread.Builder.OfPlatform ofPlatform() — 플랫폼 스레드를 만들기 위한 빌더를 반환해요.
public static Thread.Builder.OfVirtual ofVirtual() — 가상 스레드를 만들기 위한 빌더를 반환해요.
StackWalker.StackFrame... — getStackTrace()로 스택 트레이스를 반환할 수 있어요.
public static void onSpinWait() — 현재 스레드가 바쁜 대기(busy-wait) 상태임을 신호해 프로세서에 힌트를 줘요.