Categories: Java 언어Korean

Java 총 정리[91. 쓰레드 실행 흐름]

쓰레드 실행 흐름

이전 걸음에서 쓰레드에 기본적인 내용을 공부를 했습니다. 쓰레드는 사용을 하는 것이 상당히 어렵기 때문에 간단하게 공부를 하면 사용을 할 수가 없습니다. 이후 걸음에서 좀 더 자세한 내용을 다룰 예정입니다. 끝까지 같이 함께 하면 쓰레드를 확실히 사용하고 이해를 하실 수 있습니다.

쓰레드의 실행 흐름을 이번 걸음에서 공부를 하면서 쓰레드의 특징을 알고 사용을 함으로써 쓰레드와 같이 각자가 움직이는 상황에서 원하는 결과로 얻기 위한 방법을 이번 걸음에서 배울 수 있습니다.

쓰레드의 실행 흐름 구조, 쓰레드 실행 흐름 예제와 설명을 이번 걸음에서 다뤄 볼 예정입니다. 여러 Method가 나오기 때문에 어떤 Method인지 명확히 알고 사용을 한다면 질이 좋은 프로그램이 나올 수 있습니다.

쓰레드 실행 흐름 구조

위에 사진처럼 Thread를 new() 생성하고 start() 메소드를 호출을 하면 Thread 또는 Runnable을 상속 받은 class에 정의 되어 있는 명령문이 실행이 됩니다. 더 이상 실행할 명령문이 없으면 종료가 되고 실행을 할 때 join(), interrupt(), sleep(), wait()의 메소드가 호출 되면 잠시 대기 상태에 이동을 하고 추후에 sleep() 종료나 notify()등으로 대기 상태에서 다시 실행을 하도록 하는 사이클로 동작을 하게 됩니다.

쓰레드 실행 흐름 구조 예제

    
class ThreadTest extends Thread{
 
 public void run() {
  for(int i = 1;i<=10;i++) {
   System.out.println("자바 쓰레드 너무 쉬워요 ^.^ : "+ i);
  }
 }
}

public class EXThread1 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  ThreadTest tt = new ThreadTest(); // 생성
  tt.start(); // 실행 -> run()
  for(int i = 0;i<10;i++) {
   System.out.println("쓰레드 어려워요~~~~~ㅜㅜ");
  }
 }
} 
    

위에 예제 소스를 보고 유추 할 수 있듯이 Thread를 상속 받은 객체를 생성하고 그 이후에 start()메소드를 호출을 하면 run 함수가 실행이 됩니다. 이때 일반 메소드 호출과 같은 동작이 되는 것이 아니라 각자가 실행 흐름을 가지고 동작을 하기 때문에 위와 같이 일정하지 않은 결과가 발생을 하게 됩니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.