00. 'Bell' 이라는 클래스를 만들고 생성자와 run()메소드를 오버라이드 해서 구동내용을 코딩함.
01. 메인클래스에서 가져다 쓴다.
02. 결과값.
※. 코드
/*
* Thread를 사용하는 방법
* 1. Thread Class를 상속받아서 사용하는 경우.
* 자바가 단일상속만 허용하기 때문에 Thread를 상속받는 순간
* 다른 클래스를 이용할 수 없어서, 사용에 제한이 있을 수 있다.
* 2. Runnable interface를 구현하는 방법.
* interface를 사용하기 때문에, 필요한 경우에
* 다른 클래스를 상속받아서 사용할 수 있다.
* 대부분 이 방법으로 쓰레드를 구현
*/
class Bell implements Runnable {
private String name;
private int interval;
public Bell(String name, int sec)
{
this.name = name;
interval = sec * 1000;
//interval = (int)(Math.random() * 1000);
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=1; i<=100; i++)
{
try {
//Thread.sleep(interval);
Thread.sleep( (int)(Math.random() * 1000) );
} catch (Exception e) {
// TODO: handle exception
}
System.out.println(name + " : " + i);
}
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bell one = new Bell("ONE", 1);
Bell three = new Bell("THREE", 3);
Bell five = new Bell("FIVE", 5);
Thread t1 = new Thread(one);
Thread t3 = new Thread(three);
Thread t5 = new Thread(five);
t1.start();
t3.start();
t5.start();
}
}