1. 스레드(Thread)란

1️⃣ 정의

스레드란 하나의 프로세스 안에서 실행되는 작업의 흐름 단위입니다.

프로세스 = 실행 중인 프로그램

스레드 = 그 안에서 실제로 일을 하는 실행 단위


2️⃣ 프로세스 vs 스레드

구분 프로세스 스레드
메모리 독립 공유
생성 비용 작음
통신 IPC 필요 공유 메모리
안정성 높음 상대적으로 낮음

👉 Java 서버는 멀티스레드 기반


2. Java에서 스레드 생성 방법

방법 1️⃣ Thread 클래스 상속

class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println("스레드 실행");
    }
}
MyThread t = new MyThread();
t.start();

⚠️ run() 직접 호출 ❌

⚠️ 반드시 start()


방법 2️⃣ Runnable 인터페이스 구현 ⭐ (권장)

class MyTask implements Runnable {
    @Override
    public void run() {
        System.out.println("작업 실행");
    }
}
Thread t = new Thread(new MyTask());
t.start();