package thread;
import java.util.ArrayList;
public class Test extends Thread {
int seq;
public Test(int seq) {
this.seq = seq;
}
public void run() {
System.out.println(this.seq + "thread run!!");
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(this.seq + "thread stop!!");
}
public static void main(String[] args) {
ArrayList<Thread> thread = new ArrayList<Thread>();
for (int i = 0; i < 10; i++) {
Test test = new Test(i);
test.start();
thread.add(test);
}
for (int i = 0; i < thread.size(); i++) {
Thread t = thread.get(i);
try {
t.join();
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("main stop");
}
}
생성되는 쓰레드를 담기 위해서 ArrayList 객체인 threads를 만든 후 쓰레드 생성시 생성된 객체를 threads에 저장한다. main 메소드가 종료되기 전에 threads 에 담긴 각각의 thread에 join 메소드를 호출하여 쓰레드가 종료될 때까지 대기하도록 하였다.쓰레드의 join 메소드는 쓰레드가 종료될 때까지 기다리게 하는 메서드이다.
'JAVA > 자바' 카테고리의 다른 글
자바 URL주소로 이미지 저장 (0) | 2015.05.08 |
---|---|
자바 쓰레드 Runnable (0) | 2015.03.19 |
자바 쓰레드 기초 (0) | 2015.03.19 |
자바 클라이언트 기초소스 (0) | 2015.03.19 |
자바 서버 기초소스 (0) | 2015.03.19 |