Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

한바다

Thread(스레드) 본문

카테고리 없음

Thread(스레드)

한바다진화 2024. 4. 26. 21:51

Thread(스레드)는 프로세스 내에서 실행되는 흐름의 단위(독립적으로 실행되는 작은 실행 단위)
간단하게 말해, 하나의 프로그램 안에서 여러작업을 동시에 수행할 수 있도록 해주는 것
이렇게 스레드를 사용하면 여러작업을 동시에 처리하여 프로그램의 성능을 향상시킬수 있음

예를 들어, 웹 브라우저는 동시에 여러탭에서 웹 페이지를 로드하고 표시. 각 탭은 별도의 스레드에서
동작하여 서로 간섭 없이 독립적으로 작동한다고. 이렇게 하면 한 탭에서 페이지를 로드하는 동안에도
다른 탭에서는 사용자가 다른 작업을 수행할 수 있음.

스레드를 사용하면 프로그램이 더욱 반응적이고 빠르게 동작할 수 있지만,
스레드를 관리하고 동기화 하는 것이 복잡할 수 있음. 스레드를 올바르게 사용하려면 다른 스레드와의 상호작용, 공유자원의
안전한 접근 등을 고려해야 함.

[스레드의 생성과 실행]
자바에서 스레드를 생성하는 방법

  1. Runnable 인터페이스를 구현하는 방법
  2. 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();
              }

    }

}

}