t5 가 끝나기전까지 main 을 종료시키지 않음.
결과 ------
2 단 : 2 * 1 = 2
6 단 : 6 * 1 = 6
3 단 : 3 * 1 = 3
5 단 : 5 * 1 = 5
4 단 : 4 * 1 = 4
7 단 : 7 * 1 = 7
9 단 : 9 * 1 = 9
7 단 : 7 * 2 = 14
4 단 : 4 * 2 = 8
5 단 : 5 * 2 = 10
3 단 : 3 * 2 = 6
6 단 : 6 * 2 = 12
8 단 : 8 * 1 = 8
2 단 : 2 * 2 = 4
8 단 : 8 * 2 = 16
6 단 : 6 * 3 = 18
3 단 : 3 * 3 = 9
5 단 : 5 * 3 = 15
4 단 : 4 * 3 = 12
7 단 : 7 * 3 = 21
9 단 : 9 * 2 = 18
7 단 : 7 * 4 = 28
4 단 : 4 * 4 = 16
5 단 : 5 * 4 = 20
3 단 : 3 * 4 = 12
6 단 : 6 * 4 = 24
8 단 : 8 * 3 = 24
2 단 : 2 * 3 = 6
8 단 : 8 * 4 = 32
6 단 : 6 * 5 = 30
3 단 : 3 * 5 = 15
5 단 : 5 * 5 = 25
4 단 : 4 * 5 = 20
7 단 : 7 * 5 = 35
9 단 : 9 * 3 = 27
7 단 : 7 * 6 = 42
4 단 : 4 * 6 = 24
5 단 : 5 * 6 = 30
3 단 : 3 * 6 = 18
6 단 : 6 * 6 = 36
8 단 : 8 * 5 = 40
2 단 : 2 * 4 = 8
8 단 : 8 * 6 = 48
6 단 : 6 * 7 = 42
3 단 : 3 * 7 = 21
5 단 : 5 * 7 = 35
4 단 : 4 * 7 = 28
7 단 : 7 * 7 = 49
9 단 : 9 * 4 = 36
7 단 : 7 * 8 = 56
4 단 : 4 * 8 = 32
5 단 : 5 * 8 = 40
3 단 : 3 * 8 = 24
6 단 : 6 * 8 = 48
8 단 : 8 * 7 = 56
2 단 : 2 * 5 = 10
8 단 : 8 * 8 = 64
6 단 : 6 * 9 = 54
3 단 : 3 * 9 = 27
5 단 : 5 * 9 = 45
4 단 : 4 * 9 = 36
main 종료
7 단 : 7 * 9 = 63
9 단 : 9 * 5 = 45
8 단 : 8 * 9 = 72
2 단 : 2 * 6 = 12
9 단 : 9 * 6 = 54
2 단 : 2 * 7 = 14
9 단 : 9 * 7 = 63
2 단 : 2 * 8 = 16
9 단 : 9 * 8 = 72
2 단 : 2 * 9 = 18
9 단 : 9 * 9 = 81
ex------------------
public class Thread_E07 {
public static void main(String[] args) {
Thread t2 = new Thread(new GooGoo_Join(2));
Thread t3 = new Thread(new GooGoo_Join(3));
Thread t4 = new Thread(new GooGoo_Join(4));
Thread t5 = new Thread(new GooGoo_Join(5));
Thread t6 = new Thread(new GooGoo_Join(6));
Thread t7 = new Thread(new GooGoo_Join(7));
Thread t8 = new Thread(new GooGoo_Join(8));
Thread t9 = new Thread(new GooGoo_Join(9));
t2.setPriority(4);
t3.setPriority(4);
t4.setPriority(4);
t5.setPriority(4);
t6.setPriority(4);
t7.setPriority(4);
t8.setPriority(4);
t9.setPriority(4);
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
t7.start();
t8.start();
t9.start();
try {
t5.join(); // t5가 종료될때까지 main이 살아있음.
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("main 종료");
}
}
class GooGoo_Join implements Runnable {
private int dan;
public GooGoo_Join(int dan) {
this.dan = dan;
}
@Override
public void run() {
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
for (int i = 1; i < 10; i++) {
System.out.println(dan + " 단 : " + dan + " * " + i + " = " + dan
* i);
}
}
}
'WebStudy > JAVA' 카테고리의 다른 글
Thread (쓰레드) synchronized 동기화 -05 (0) | 2015.06.03 |
---|---|
Thread (쓰레드) 우선순위 양보 -3 (0) | 2015.06.03 |
Thread (쓰레드 ) 우선권을 위한 Blocking Method -2 (0) | 2015.06.03 |
Thread (쓰레드) -1 (0) | 2015.06.03 |
java 프로그램 실행 파일 만들기 (1) | 2015.06.02 |