본문 바로가기
  • think normal
새로워지기/서른의 생활코딩

ex3) java_thread

by 청춘만화 2012. 2. 27.


 

// 메신저 사용시 ->for(;;){};가 아닌 Thread를 사용하여 동시에 다른작업도 가능하도록 함
// 서버상에서 메시지가 언제 들어올지모르니까.. 계속 쓰레드를 돌리면서 수행,
// 루프로 돌리면 동시에 다른 작업이 불가!

 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest();  // 객체 생성
  tt.start(); // Thread를 시작시킴
                 // 과정 :
     
            // JVM에게 요청 -> run()실행-> 
 
                // printNumber()-> 아래의System.out.println 실행
 
 System.out.println( "--------> main thread end" );

 }
}//버그 : 순서가 틀림 , 가장 나중에 끝나는 것은 "주 쓰레드"가 되어야 한다.

**/





/*
   구조
         object :wait,notify,notifyAll
         -> Thread :start, stop  (+ <- runnable interface(public void run()))
         -> ThreadTest : 상위 모두 + printNumber()
 
**/

 

 
 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest(); // 객체 생성
  tt.start(); // Thread를 시작시킴
                 // 과정 :
     
            // JVM에게 요청 -> run()실행-> 
 
                // printNumber()-> 아래의System.out.println 실행
 
                // main()내에서 화면에 101부터 120까지 출력

  for( int i=101 ; i<=120 ; i++ ) {
  System.out.println( "-------> main number = " + i );
  }//단 컨퓨터 성능에 따라 순서가 바뀔 수 있다.
 }
}**/

 

 


/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest();  // 객체 생성
  tt.start(); // Thread를 시작시킴
                 // 과정 :
                 // JVM에게 요청 -> run()실행->
                 // printNumber()-> 아래의System.out.println 실행
                 // main()내에서 화면에 101부터 120까지 출력
 

  tt.join();   //-> try catch code블럭필요!
  }
 }
}**/

 

 

 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 

 public static void main( String[] args ) {
 

  ThreadTest tt = new ThreadTest(); // 객체 생성
  tt.start(); // Thread를 시작시킴
 

  try{
   tt.join();
  }catch(InterruptedException e){}
 

  System.out.println( "-------> main number = ");
 }

}**/

 

 

 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  System.out.println(Thread.currentThread());//순위확인
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
 

  ThreadTest tt = new ThreadTest();  // 객체 생성
  tt.start();// Thread를 시작시킴
  System.out.println(tt.getPriority());//순위확인
 

  try{
   tt.join();
  }catch(InterruptedException e){}
 

  System.out.println( "-------> main number = ");
 }
}**/

 

 


public class ThreadTest extends Thread {
 
 public void printNumber() {
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 

 public void run() {
  System.out.println(Thread.currentThread());
  printNumber(); 
 } 
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest();
  tt.start();
  tt.setPriority(9); //속도 우선순위 지정!!!
  System.out.println(tt.getPriority());
  try{
   tt.join();
  }catch(InterruptedException e){}
  System.out.println( "-------> main number = ");
 }
}

 

'새로워지기 > 서른의 생활코딩' 카테고리의 다른 글

ex5) java_thread  (0) 2012.02.27
ex4) java_thread  (0) 2012.02.27
ex2) java_thread  (0) 2012.02.27
ex1) java_thread  (0) 2012.02.27
java _20120227 (Thread)  (0) 2012.02.27

댓글