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】" 部分の後に、データの記録等行いたいなと思っています。