Thread 속성들
void setPriority(int proirity) 최소1~최대10 보통5 .
int getPriority
우선순위는 상속됨
join() => Thread 객체가 끝날때 까지 대기
ex) Thread객체1.join(), Thread객체1이 끝날때까지 대기()
Sleep() : Thread를 지정시간동안 일시정지 상태로 만듦
suspend():일시정지상태 = > resume() : 다시 실행대기상태
stop() : 종료
==> suspend(), resume(), stop()은 dead-lock 을 유발할 수 있어서 deprecated
yield() => 다른 Thread에 양보 (실행=>실행대기), while 구문 안에 있을경우 자원낭비를 줄일 수 있다.
interrupt() => sleep, join, wait에 의해 정지된 쓰레드를 실행 대기 상태로 만듦.
public class Example1 {
public static void main(String args[]) {
Thread thread1 = new numberCountThread();
Thread thread2 = new numberCountThread2();
Thread thread3 = new numberCountThread3();
thread1.start(); // Thread1 시작
thread2.start(); // Thread2 시작
try {
thread2.join(); // Thread2가 끝날때까지 대기
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
thread3.start(); //Thread3 시작
System.out.println("Program 종료"); // Thread3 의 동작하고 있지만 print 함.
}
static class numberCountThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(getName() + " " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(getName() + " End");
}
}
static class numberCountThread2 extends Thread {
@Override
public void run() {
for (int i = 10; i < 20; i++) {
System.out.println(getName() + " " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(getName() + " End");
}
}
static class numberCountThread3 extends Thread {
@Override
public void run() {
for (int i = 20; i < 30; i++) {
System.out.println(getName() + " " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(getName() + " End");
}
}
}
<결과>
Thread-0 0
Thread-1 10
Thread-1 11
Thread-0 1
Thread-0 2
Thread-1 12
Thread-0 3
Thread-1 13
Thread-1 14
Thread-0 4
Thread-1 15
Thread-0 5
Thread-1 16
Thread-0 6
Thread-0 7
Thread-1 17
Thread-0 8
Thread-1 18
Thread-1 19
Thread-0 9
Thread-0 End
Thread-1 End
Program 종료
Thread-2 20
Thread-2 21
Thread-2 22
Thread-2 23
Thread-2 24
Thread-2 25
Thread-2 26
Thread-2 27
Thread-2 28
Thread-2 29
Thread-2 End
'Computer Science > JAVA' 카테고리의 다른 글
| Thread-2 (Wait & notify) (1) | 2015.12.03 |
|---|---|
| Hashmap 과 Treemap 의 차이 (0) | 2015.12.02 |
| E-Clipse Java Font 수정 (0) | 2015.11.18 |
| StringBuilder (0) | 2015.11.18 |
| Inner Class(내부 클래스) (0) | 2015.11.18 |

