⭐️ 쓰레드란 ?
쓰레드란 프로그램 내에서 실행의 흐름을 가지고 있는 최소단위이다.
main 메서드도 실생히 메인 쓰레드가 실행되는 것이다‼️
🧐 그럼 쓰레드는 왜 사용할까 ?
1. 병렬 처리 : 여러 작업을 동시에 수행하여 애플리케이션의 성능을 향상
2. 반응성 개선 : 사용자 인터페이스(UI) 애플리케이션에서 긴 작업을 별도의
스레드에서 처리하여 UI가 멈추지 않도록 한다.
3. 자원 효율성 : 시스템 자원을 효율적으로 활용하여 더 많은 작업을 처리할 수 있다.
[ 쓰레드 사용법1 - Thread 상속 ]
[ MyThread 클래스]
public class MyThread extends Thread {
@Override
public void run() {
// 스레드가 실행할 작업
for(int i = 1; i <= 5; i++) {
System.out.println("MyThread: " + i);
try {
Thread.sleep(500); // 0.5초 대기
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
우선 Thread를 상속받고 run() 메서드를 오버라이딩 하여 , 메인문처럼 해당 쓰레드 실행시
독립적으로 실행되는 run() 메서드를 생성한다.
sleep() 메서드를 사용해 0.5초의 대기를 발생시켜준다.
[ Main 클래스 ]
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start(); // 스레드 시작
// 메인 스레드에서의 작업
for(int i = 1; i <= 5; i++) {
System.out.println("Main Thread: " + i);
try {
Thread.sleep(500); // 0.5초 대기
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
thread 객체를 만들고 , thread.start()로 MyThread를 실행시켜주고 그 다음
MainThread를 실행시켜서 멀티 쓰레드를 만들어 보았다.
각자 코드의 0.5초의 대기를 주는 Thread.sleep(500) 메서드를 사용해
0.5초의 대기를 주었다.
결과는 다음과 같이 우선 실행된 MyThread부터 실행이 되고,
그다음 MainThread가 실행이 된다.
즉 독립적으로 Thread를 실행 시킬 수 있다 ‼️
단일 쓰레드만 필요한 곳이 있고 ,
동시에 일을 처리 하는것처럼 보이지만,
굉장히 빠르게 번갈아 실행이되는 멀티 쓰레드가
필요한 곳이 있기 때문에, 상황에 맞게 쓰레드를
사용하자 ‼️
'Back End > JAVA' 카테고리의 다른 글
제네릭에 대하여 (0) | 2025.01.17 |
---|---|
exception에 대하여 (1) | 2025.01.15 |
instanceof에 대하여 (0) | 2025.01.13 |
상속에 대하여 (3) | 2025.01.11 |
접근 제한자에 대하여 (1) | 2025.01.09 |