Language/Java

Thread

원2 2021. 4. 1. 16:30
728x90
반응형

Thread 동시실행

메인이 조금 빠른 이유 : start로 stack을 생성을 하고 시작을 하기 때문에

// Thread 는 동시 실행하는것.
// 여기서의 Thread는 총 3개가 돌아가고 있다.
// 
public class Ex13_1 {

	public static void main(String[] args) {
		ThreadEx1_1 t1 = new ThreadEx1_1();
		
		Runnable r = new ThreadEx1_1();
		Thread t2 = new Thread(r);  // Runnable을 만들고 Thread를 실행시켜달라고 하는 것.
		// 여기까지가 쓰레드를 만든것.
		
		System.out.println("Thread 시작점");
		t1.start(); // 실행방법
		t2.start(); // 실행방법 이걸 입력해줘야 실행된다. // 시작을 돌려놓고 메인은 지 할거 하러감
		System.out.println("Thread 끝");
	}

}
class ThreadEx1_1 extends Thread { // Thread 를 상속
	public void run () {
		for (int i=0; i < 5; i++) {
			System.out.println(getName() +":::"+ i); // 조상인 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() +":::"+i);
		}
	}
}

Thread 의 그림화 새로운 Stack 이 생성되고 다른 Stack에서 각자실행

728x90
반응형

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

Daemon Thread  (0) 2021.04.02
swing / Thread의 I/O blocking  (0) 2021.04.02
싱글 Thread 속도측정  (0) 2021.04.02
네트워크 3  (0) 2021.04.01
네트워크2  (0) 2021.04.01
네트워크  (0) 2021.04.01