쓰레드(Thread)는 프로세스 내에서 독립적으로 실행되는 작은 작업 단위입니다.
하나의 쓰레드가 모든 작업을 직렬적으로 처리합니다.
자바 프로그램은 main() 메서드가 기본적으로 하나의 쓰레드로 실행이 됩니다.
싱글 쓰레드의 경우 여러 작업을 동시에 처리하지 못하고, 한 작업이 끝나야 다음 작업을 수행할 수 있습니다.
여러 개의 쓰레드가 동시에 여러 작업을 처리합니다.
각 쓰레드는 독립적으로 실행이 되고, 병렬로 작업이 진행됩니다.
그렇기 때문에 CPU 자원을 효율적으로 활용할 수 있고, 병렬로 작업이 되는 만큼, 대기 시간 동안 다른 작업을 동시에 처리할 수 있습니다.
public class MyThread extends Thread {
@Override
public void run() {
/* works */
}
}
MyThread t = new MyThread();
t.start(); // 새로운 쓰레드에서 run()을 실행
권장하는 방식입니다.
public class MyRunnable implements Runnable {
@Override
public void run() {
/* works */
}
}
Thread t = new Thread(new MyRunnable());
t.start();
자료 및 코드 출처: 스파르타 코딩클럽