Thread란?

 Process를 구성하는 '작업 단위'

MultiThread란?

 하나의 Process 내에서 여러 Thread가 동시에 작업을 수행하는 것

 

 

1) Thread class를 상속

 

예시

public class MultiThread extends Thread{
	MultiThread() {
		start();
	}
	void main1() {
		while(true) {
			try {
			Thread.sleep(1000);
			}catch(InterruptedException ie){}
			System.out.println("main");
			}
		}
	public void run() {
		while(true) {
			try {
			Thread.sleep(1000);
			}catch(InterruptedException ie){}
			System.out.println("Thread");
			}
		}
	public static void main(String[] args) {
		MultiThread mt = new MultiThread();
		mt.main1();
	}
}

 

 

2) Runnable인터페이스를 구현

 

예시

public class MultiThread2 implements Runnable{
	MultiThread2(){
		new Thread(this).start();
	}
	public void run() {
		while(true) {
			try {
				Thread.sleep(1000);
			}catch(InterruptedException ie) {}
			System.out.println("Thread");
		}
	}
	void main1() {
		while(true) {
			try {
				Thread.sleep(1000);
			}catch(InterruptedException ie) {}
			System.out.println("main");
		}
	}
	public static void main(String[] args) {
		MultiThread2 mt = new MultiThread2();
		mt.main1();
	}
}

 

참고

 *. start(); : 실행 시작

 

실행화면

main
Thread
Thread
main
Thread
main
main
Thread

두 소스를 실행화면 비슷하다.
실행 순서는 개발자가 알 수가 없다.

 

 

 

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

[자바] String Class  (0) 2021.05.11
[자바] Java 예약어(keyword, reserved word)  (0) 2021.04.24
[자바] beginning  (2) 2021.04.23
[자바] 은닉화/캡슐화  (0) 2021.04.21
[자바] 다형성  (0) 2021.04.21

+ Recent posts