java基本教程之join方法详解 java多线程教程
本章涉及到的内容包括: 1. join()介绍 复制代码 代码如下: // 主线程 public class Father extends Thread { public void run() { Son s = new Son(); s.start(); s.join(); ... } } // 子线程 public class Son extends Thread { public void run() { ... } } 说明: 2. join()源码分析(基于JDK1.7.0_40) 复制代码 代码如下: public final void join() throws InterruptedException { join(0); } public final synchronized void join(long millis) if (millis < 0) { if (millis == 0) { 说明: 3. join()示例 复制代码 代码如下: // JoinTest.java的源码 public class JoinTest{ public static void main(String[] args){ t1.start(); // 启动“线程t1” static class ThreadA extends Thread{ public ThreadA(String name){ // 延时操作 System.out.printf("%s finishn",this.getName()); 运行结果: 复制代码 代码如下: t1 start t1 finish main finish 结果说明: 运行流程如图 (01) 在“主线程main”中通过 new ThreadA("t1") 新建“线程t1”。 接着,通过 t1.start() 启动“线程t1”,并执行t1.join()。 (02) 执行t1.join()之后,“主线程main”会进入“阻塞状态”等待t1运行结束。“子线程t1”结束之后,会唤醒“主线程main”,“主线程”重新获取cpu执行权,继续运行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |