public class AfterThread { private Thread targetThread; public AfterThread(Thread targetThread) { this.targetThread = targetThread; } public void doAfter() { new Thread() { public void run() { try { targetThread.join(); } catch (InterruptedException e) { } System.out.println("iiii"); System.out.println("iiii"); System.out.println("iiii"); } }.start(); } }