Join方法
两个线程AB一起吃午饭,吃啊吃啊,A吃完了,B还在吃:”喂,等我吃完一起走啊。“B终于吃完了 ,两只线程一起擦擦嘴巴走掉了。B那句”等我“,就是调用了join方法。没错我就是什么都能联想到吃唉没救了:-(
join方法就是一个线程(主线程)等待另一个线程(子线程)完成。
具体怎么用的吗:
http://www.open-open.com/lib/view/open1371741636171.html#_label0
这里面写的例子很好理解
假设有一个Thread对象t,其线程正在执行, t.join ()将导致当前线程暂停执行,直到线程t终止。
join()方法还有带超时限制的重载版本:
是不是想起了sleep方法,没错:
哦天哪这截图要逼死强迫症
重载的join方法允许指定等待时间长度。不过,跟sleep方法一样,此操作依赖于操作系统计时器和调度程序精度和准确性的影响,所以你还是别指望它能很精确的按你设定的时间走。另外,跟sleep方法一样,可以使用InterruptedException响应中断,退出等待。
原文:
相关推荐
### Java线程入门知识点详解 #### 一、Java线程基础知识概述 **1.1 什么是线程?** 线程是程序执行流的最小单元,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。在Java中...
本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会...
### Java线程知识详解 #### 一、线程基础 **1.1 什么是线程?** 线程是操作系统能够进行运算调度的最小单位,它...通过本文的学习,你应该能够掌握Java线程的基本概念和使用方法,并能够开始编写简单的多线程程序。
- **join() 方法:** 允许一个线程等待另一个线程结束。 - **Thread.sleep(long millis):** 让当前正在执行的线程暂停执行指定的时间。 #### 三、高级Java多线程主题 **3.1 线程池** 线程池是一种基于池化概念的...
本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会...
本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会...
Java中有多种实现多线程的方法: 1. **继承Thread类**:直接继承`Thread`类,并重写`run()`方法。 2. **实现Runnable接口**:定义一个实现了`Runnable`接口的类,并在其中实现`run()`方法。然后将这个类的对象作为`...
2.4 干预线程中断与响应中断Thread.interrupt() 和 isInterrupted() / interrupted()中断线程通常采用interrupt()方法,但这并不直接终止线程,而是设置一个中断标志。线程在运行过程中,可以通过isInterrupted()...
23.1.1 Session对象的生命周期与本地线程绑定 23.1.2 Session对象的生命周期与JTA事务绑定 23.2 实现对话 23.2.1 使用游离对象 23.2.2 使用手工清理缓存模式下的Session 23.3 小结 23.4 思考题 第24章...
本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会...
- **join()方法**:等待线程结束。 - **interrupt()**:中断线程。 #### 第6章:Java API - **6.1 理解API的概念**: - **定义**:Application Programming Interface,应用程序编程接口。 - **作用**:提供一...
在多线程环境中,某些方法可能需要阻塞线程,例如`Thread.sleep()`、`Thread.join()`等。 ##### 2.5 处理InterruptedException 在使用阻塞方法时,经常需要处理`InterruptedException`,以防止程序因意外中断而...
- **常用方法**:`start()`启动线程,`run()`定义线程体,`join()`等待线程结束。 - **线程状态**:线程在其生命周期中会经历不同的状态,如新建、就绪、运行、阻塞、死亡等。 - **线程安全**:多线程环境下资源的...
在这个版本——2.4中,Lang 组件为开发者提供了大量方便的工具方法,涵盖了字符串操作、日期时间处理、数学计算、反射、类型转换等多个领域,极大地提升了开发效率。 一、字符串操作 在commons-lang-2.4.jar中,最...
为了确保主线程在子线程完成任务后才继续执行,使用了`join()`方法。这意味着主线程会等待“Thread1”和“Thread2”完成计算后才会执行下一步。 **1.4 阶乘计算** 阶乘计算是在`FactorialCalculatingThread`类的`...
以上内容概述了《Java Concurrency In Practice》这本书中所涉及的关键知识点和技术细节,希望能为读者提供有价值的参考和启示。通过深入学习这些内容,开发者可以更好地掌握Java并发编程的基本原理和最佳实践,从而...
文章目录1、进程与线程2、创建多线程2.1、继承Thread类2.2、实现Runnable接口2.3、使用匿名内部类实现2.4、实现Runnable接口的好处2.5、使用Callable和Future创建线程3、线程的生命周期4、几种特殊线程4.1、join线程...
- Java反射机制允许程序在运行时访问和操作类、接口、字段和方法等对象。 1.12 JDK、NDK、JRE、JNI - JDK(Java Development Kit)是用于开发Java程序的工具包。 - NDK(Native Development Kit)允许开发者用C或...
学生提问:构造器是创建Java对象的途径,是不是说构造器完全负责创建Java对象? 141 5.5.2 构造器的重载 142 学生提问:为什么要用this来调用另一个重载的构造器?我把另一个构造器里的代码复制、粘贴到这个构造器...
##### 2.1 Java线程 - **线程创建**: - **继承Thread类**:创建一个线程类继承自`Thread`类,并重写`run()`方法。 - **实现Runnable接口**:创建一个实现了`Runnable`接口的类,并实现其`run()`方法,然后将该类...