본문 바로가기

콩's EDUCATION/콩's JAVA_RUN

Runnable

Runnable 생성, 변환, 출력


 

// 1. 멀티 스레드 동작 클래스 정의

class SimpleThread2 implements Runnable{

 String msg; // ???
 public SimpleThread2(String msg) {
  this.msg = msg;
 }
 // 1-2. run overriding
 // st1 시작, st2 시작 동시에 실행, 두개 멀티스레드 객체 생성
 public void run(){
  for(int i=1;i<=10;i++){
   System.out.println(i+"번째 출력 "+msg);
  }
 }
}
public class ThreadTest1 {
 public static void main(String[] args) {
  
  // 2. Runnable 타입 (하위) 객체 2개 생성
  SimpleThread2 st1 = new SimpleThread2("One");
  SimpleThread2 st2 = new SimpleThread2("Two");

  // 3. Thread 객체 변환 (생성)
  Thread t1 = new Thread(st1);
  Thread t2 = new Thread(st2);
  
  t1.start(); // st1.run 수행
  t2.start(); // st2.run 수행  
  
  System.out.println("메모리 종료");
  // 추측하면 가장 나중에 출력되어야 하지만 가장 먼저 출력한다.
  
//  st1.run(); // 싱글스레드 방식
//  st2.run();
 }

}

 

 

ThreadTest2.java