ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Thread 예제 & start() 와 run()의 차이...!! & 스레드 우선순위..
    개발노하우/Java 2007. 6. 1. 09:32

    class ThreadTest extends Thread {
     public void run(){
      try{
       for(int i=0;i<=10;i++){
        Thread.sleep(200);
        System.out.println("알기쉽게 해설한 자바 :" +i);
       }
      }
      catch(InterruptedException e){
       System.out.println(e);
      }
     }
    }

    class object{
     public static void main(String arg[]){
       ThreadTest t = new ThreadTest();
       t.start();
      // t.run();
     }
    }

    ====================================================================================================

    class RunnableA  implements  Runnable {
     public void run(){
      try{
       for(int i=0;i<=10;i++){
        Thread.sleep(200);
        System.out.println("알기쉽게 해설한 자바 :" +i);
       }
      }
      catch(InterruptedException e){
      e.printStackTrace();
      }
     }
    }

    class object{
     public static void main(String arg[]){
      RunnableA r = new RunnableA();
      // Runnable 인터페이스 객체로 r을 생성
      //Thread t = new Thread(r);
      //r을 매개변수로 하여 스레드 객체 t를 생성
      //t.start();
      new Thread(r).start();
     }
    }

    ====================================================================================================

    class ThreadA extends Thread{
     public ThreadA(String str){
      super(str);
     }
     
     public void run(){
      try{
       for(int i=0;i<10;i++){
        Thread.sleep(2);
        System.out.println(i + getName());
       }
       System.out.println("끝"+getName());
      }
      catch(InterruptedException e){
       System.out.println(e);
      }
     }
    }

    class object{
     public static void main(String arg[]){
      ThreadA t1 = new ThreadA(" : 배우기 쉬운 자바");
      ThreadA t2 = new ThreadA(" : 배우기 어려운 자바");
      // 같은 스레드 클래스로부터 객체 t1,t2생성
     
      // t1과 t2가 번갈아 가면서 수행
      t1.start();
      t2.start();
     

      // t1이 끝난후 t2가 수행된다.
      //t1.run();
      //t2.run();
     
      // start() 와 run() 의 차이...
     }
    }

    ====================================================================================================

    class ThreadA extends Thread{
     public ThreadA(String str){
      super(str);
     }
     
     public void run(){
      try{
       for(int i=0;i<5;i++){
        Thread.sleep(10);
        System.out.println(i + getName() + "우선순위 :"+ getPriority());
       }
       System.out.println("끝"+getName());
      }
      catch(InterruptedException e){
       System.out.println(e);
      }
     }
    }

    class object{
     public static void main(String args[]){
      ThreadA t1 = new ThreadA(" : 배우기 쉬운 자바");
      ThreadA t2 = new ThreadA(" : 배우기 어려운 자바");
      ThreadA t3 = new ThreadA(" : 배우기 시작한 자바");
      // 같은 스레드 클래스로부터 객체 t1,t2생성
     
      //우선순위를 설정
      int priority_t1 = Integer.parseInt(args[0]);
      int priority_t2 = Integer.parseInt(args[1]);
     
      t1.setPriority(priority_t1);
      t2.setPriority(priority_t2);
      t3.setPriority(Thread.MIN_PRIORITY); // 상수값(1)로 설정
     
      t1.start();
      t2.start();
      t3.start();

      // t1이 끝난후 t2가 수행된다.
      // t1.run();
      // t2.run();
       
      // start() 와 run() 의 차이...
     }
    }

Designed by Tistory.