プログラマメモ2 - programmer no memo2

[java]スレッドのjoin 2009/02/06

Javaです。スレッドのjoinは、スレッドが終了するまで待機します。

で、このスレッドが終了というのが正直よくわかってないです。

なので、簡単なサンプル
どうかな。。。

package th;

public class TestJoin {

public static void main(String[] args) {

new Thread(new Runnable() {

@Override
public void run() {
Thread thread = new Thread(new Runnable() {

@Override
public void run() {
sleep(2000);
System.out.println("wake up!!!");
}
});
System.out.println("*** GO!!");
thread.start();
// 待機時間をしていできるよ。
join(thread, 1000);
System.out.println("*** GO GO!!");
}
}) {

}.start();

}

public static void sleep(long t) {
try {
System.out.println("i am sleep... " + t + "ms");
Thread.sleep(t);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

public static void join(Thread th, long t) {
try {
th.join(t);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

: