관리 메뉴

취미개발 블로그와 마음수양

쓰레드 생성의 두가지 방법.. 본문

Language/샘플-핵심코드

쓰레드 생성의 두가지 방법..

아라한사 2014. 4. 22. 00:32

자바학원..오늘이 11일차인가.. 오늘 학원에서는 쓰레드 맛만 봤다..음..


뭐..자바의 정석에 나온 소스에 좀 더 수정을 해서 적자면..


그러니까 안에 매개변수처리로 한다고 하면 new Thread를 하면서 Runnable 인터페이스가 있는 클래스를 그 안에 넣어주면 되는 듯하다~~ 


Runnable 로 생성한 것은 변수가 없기 때문에 getName을 호출하려면 Thread.currentThread().getName()해주면 된다고 한다. 그냥의 쓰레드가 바로 getName()하는 것과는 조금 차이가 있다.



package 정석12쓰레드;

public class ThreadEx1 {

	public static void main(String[] args) {
		ThreadEx1_1 t1=new ThreadEx1_1();
		
		Runnable r = new ThreadEx1_2();
		Thread t2 = new Thread(r);
		
		Thread t3 = new Thread(new ThreadEx1_2());
		
		t1.start();
		t2.start();
		t3.start();
	}

}
class ThreadEx1_1 extends Thread{
	public void run(){
		for(int i=0;i<5;i++){
			System.out.println(getName());//조상인 Thread의 getName()을 호출
		}
	}
}

class ThreadEx1_2 implements Runnable{
	public void run(){
		for(int i=0;i<5;i++){
			//Thread.currentThread()- 현재 실행중인 Thread를 반환
			System.out.println(Thread.currentThread().getName());
		}
	}
}