-
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() 의 차이...
}
}