한바다
Thread(스레드) 본문
Thread(스레드)는 프로세스 내에서 실행되는 흐름의 단위(독립적으로 실행되는 작은 실행 단위)
간단하게 말해, 하나의 프로그램 안에서 여러작업을 동시에 수행할 수 있도록 해주는 것
이렇게 스레드를 사용하면 여러작업을 동시에 처리하여 프로그램의 성능을 향상시킬수 있음
예를 들어, 웹 브라우저는 동시에 여러탭에서 웹 페이지를 로드하고 표시. 각 탭은 별도의 스레드에서
동작하여 서로 간섭 없이 독립적으로 작동한다고. 이렇게 하면 한 탭에서 페이지를 로드하는 동안에도
다른 탭에서는 사용자가 다른 작업을 수행할 수 있음.
스레드를 사용하면 프로그램이 더욱 반응적이고 빠르게 동작할 수 있지만,
스레드를 관리하고 동기화 하는 것이 복잡할 수 있음. 스레드를 올바르게 사용하려면 다른 스레드와의 상호작용, 공유자원의
안전한 접근 등을 고려해야 함.
[스레드의 생성과 실행]
자바에서 스레드를 생성하는 방법
- Runnable 인터페이스를 구현하는 방법
- Thread 클래스를 상속받는 방법
▶ 두 방법 모두 스레드를 통해 작업하고 싶은 내용을 run() 메소드에 작성하면 된다.
[코드작성]
1) public class ThreadEx extends Thread {
public void run() {
System.out.println("스레드 실행 중");
try{
Thread.sleep(1000); //1초 동안 정지
System.out.println("1초 끝~!);
} catch(InterruptedException e) {
e.printStackTrace();
}
}
}
2) public class ThreadWithRunnable implements Runnable{
public void run() {
for(int i =0; i<5; i++) {
System.out.println(Thread.currentThread().getName());// 현재 실행 중인 스레드의 이름을 반환 함
try {
Thread.sleep(1000);
}catch((InterruptedException e) {
e.printStackTrace();
}
}
}
}