public class TestJoin { static class MyRunnable implements Runnable { @Override public void run() { try { Thread.sleep(3000);// 改成synchronized (this) { this.wait(); }的话,main class也一直等待该线程,而不能结束。 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("run ok!"); } } public static void main(String[] args) throws Exception { MyRunnable m = new MyRunnable(); Thread t = new Thread(m); t.join();// join() 采用 wait(0)实现,调用join()后,又交出控制权 t.start();//1.执行完毕(thread died),jvm通知,应该有一个类似notify(). System.out.println("main end!"); } }
Thread join方法的理解
最新推荐文章于 2025-06-22 12:23:47 发布
本文通过一个具体的Java示例程序介绍了线程中join方法的作用及其实现原理。join方法用于使当前线程等待被join的线程结束后再继续执行。示例中展示了如何使用join方法来控制主线程等待子线程的完成。
1435

被折叠的 条评论
为什么被折叠?



