본문 바로가기
Programming/Java

[Java] Thread

by AI_Wooah 2022. 3. 7.

쓰레드 싱글 스레드 멀티 쓰레드

Run

package com.kh.part01_threadTest.run;

import com.kh.part01_threadTest.thread.*;

public class Run {

	public static void main(String[] args) {
		Car car = new Car();
		Tank tank = new Tank();
		Plane plane = new Plane();
		
		Thread t1 = car;
		Thread t2 = tank;
		Thread t3 = new Thread(plane);
		
		t1.setPriority(Thread.MAX_PRIORITY);
		t3.setPriority(Thread.MIN_PRIORITY);
		
		System.out.println("t1우선순위 : " + t1.getPriority());
		System.out.println("t2우선순위 : " + t2.getPriority());
		System.out.println("t3우선순위 : " + t3.getPriority());
		
		t1.start();
		t2.start();
		t3.start();
		
		try {
			t1.join();
			t2.join();
			t3.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
		
		System.out.println("============= main ending");
	}
}

Car

package com.kh.part01_threadTest.thread;
//Theard 클래스 상속받아 구현
public class Car extends Thread {
	public Car() {}
	
	//메인메소드와 또 다른 흐름을 가지는 메인메소드라고 생각하면 편한다.
	@Override
	public void run() {
		for(int i = 0; i < 1000; i++) {
			System.out.println("Car driving...");
			try {
				Thread.sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}

Plane

package com.kh.part01_threadTest.thread;

//인터페이스를 상속받는 방법
public class Plane implements Runnable{

	@Override
	public void run() {
		for(int i = 0; i < 1000; i++) {
			System.out.println("Plane flight...");
			try {
				Thread.sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}

Tank

package com.kh.part01_threadTest.thread;

public class Tank extends Thread {
	public Tank() {}
	
	@Override
	public void run() {
		for(int i = 0; i < 1000; i++) {
			System.out.println("Tank driving...");
			try {
				Thread.sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}
반응형

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

[Java] GUI(Graphic User Interface)  (0) 2022.03.07
[Java] IO(입출력)  (0) 2022.03.07
[Java] Exception(예외처리)  (0) 2022.03.07
[Java] 기본 API  (0) 2022.03.07
[Java] 다형성  (0) 2022.03.07

댓글