Threadの待機
私が投稿した類似質問
【Java】Threadの割り込みについて
勘違いがあったので修正します。
public class Main extends Thread{
private Timer timer;
public static void main(String[] args) {
try {
Main main = new Main();
main.start(); // --- 【1】
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void run() {
timer = new Timer();
timer.setObserver(this);
timer.setDaemon(true);
try {
timer.run();
sleep(3000);
} catch (InterruptedException e) {
System.out.print("割り込み");
}
}
}
public class Timer extends Thread {
private Thread observer;
public void setObserver(Thread observer) {
this.observer = observer;
}
@Override
public void run() {
try {
System.out.println("THREAD COUNT");
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("THREAD FINAL");
observer.interrupt();
}
}
}
あくまで例です。
ちょっと勘違いがあったので、訂正しました。
上記だと、Main を Thread (以下、 MainThread と表記)として稼働することで、 SubThread からの割り込みが可能かと思います。
この時、 MainThread の終了を待って、 main() で終了する準備をしたいのですが、
MainThread の終了を実行クラスに通知することは可能でしょうか?
"// --- 【1】" 部分の後に、データの記録等行いたいなと思っています。