쓰레드

cpu내에서 독립적으로 실행되는 실행단위
- 데몬 스레드 : 그라운드에서 실행되는 스레드
- 사용자 스레드 : 사용자가 직접 정의한 스레드

쓰레드 작성(사용자 스레드)
 
1.Thread 클래스를 상속 - extends Thread

class ThreadA extends Thread  {  // Thread 클래스로부터 상속
public void run() {
    // 상위 클래스인 Thread 클래스의 run() 메소드를 오버 라이딩하여 스레드가 수행하여야 하는 문장들을 기술      
        }
}
 
2.Runnable 인터페이스를 구현 - implements Runnable 
 
class ThreadB implements Runnable {  // Runnable 인터페이스를 구현
public void run() {
    // Runnable는 run() 추상메소드만을 가진 인터페이스로 run()을 오버라이딩 해준다.
        }
}


쓰레드 실행 
   run()메소드를 재정의 
public void run() 
{
  쓰레드에 의해서 실행될 코드를 기술;
}
** start()메소드에 의해서 호출 ** 

쓰레드 객체를 생성
MyClass1  my1 = new MyClass1();
my1.start();
MyClass2 my2 = new MyClass2();
Thread  mythred = new Thread(my2);
mythread.start();

쓰레드 생성자

Thread () , Thread (String  name)  
Thread로 생성할 경우
Thread (Runnable Thread_name) , Thread (Runnable Thread_name, String  name) 
Runnable는 인터페이스로 스스로 일을 할 수 없으므로 Thread로 선언하여 Runnable 값을 넣어준다. 
 
 


 쓰레드의 실행을 일정시간 정지 
   public void sleep(int m) 
throws InterruptedException

  try{
Thread.sleep(1000);
  }catch(Exception e) { }


쓰레드 우선순위 설정

스레드명.setPriority(아래 값 입력)
static final int MAX_PRIORITY        – 10값
static final int MIN_PRIORITY           – 1값
static final int NORM_PRIORITY     – 5값 
또는 상수 (1~10사이값)을 넣어 우선순위를 정한다.

* 우선순위는 실행할 순서를 되도록 우선적으로 사용할 순위를 정하는것, 절대우선순위는 아니다. 



 
























'Programming > Java' 카테고리의 다른 글

컬렉션  (0) 2012.02.10
직렬화(Serialize)  (0) 2012.02.07
예외 처리 (Exception)  (0) 2012.01.11
이클립스 단축키 (펌)  (0) 2011.03.23
ArrayList 와 LinkedList 의 속도 차이와 사용용도 구분 예제  (0) 2011.02.21

+ Recent posts