WebStudy/JAVA

Thread (쓰레드) -1

델랑 2015. 6. 3. 10:00

java의 main method 도 thread.

 

Go_Thread 와 Come_Thread  클래스에 Thread를 상속하고

run() Method 를 오버라이딩 해준다.

 

그리고 메인에서 호출을 해주면 초 3개의 쓰레드가 실행된다.

왜 3개냐면 main 과 go 와 come, 총 3개니까.

 

ex-------------Thread 를 상속한 방식 -----------------

public class Thread_E02 {

 public static void main(String[] args) {
  Go_Thread g = new Go_Thread();
  Come_Thread c = new Come_Thread();


  g.start(); // start() 를 했다고 바로 되는 것이 아니라 cpu가 작업을 시작해야되는 것.
  c.start();
 }

}
class Go_Thread extends Thread{  // Thread를 상속하고 run() 매소드를 오버라이딩 해야함.
 public void run(){
  while(true){
   System.out.println("go");
  }
 }
}
class Come_Thread extends Thread{
 public void run(){//overriding
  while(true){
   System.out.println("Come");
  }
 }
}

 

ex-------- Runnable 인터페이스를 implements 한 경우 --------------

public class Thread_E03 {

 public static void main(String[] args) {
  Go_Runnable g = new Go_Runnable();
  Come_Runnable c = new Come_Runnable();
  Thread t = new Thread(g);
  Thread t2 = new Thread(c);
  t.start();
  t2.start();
 }

}

class Go_Runnable implements Runnable{

 @Override
 public void run() {
  while(true){
   System.out.println("go");
  }
 }
}

class Come_Runnable implements Runnable{

 @Override
 public void run() {
  while(true){
   System.out.println("come");
  }
 }
}