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 |