关于Thread.join()方法,可以理解为:当某线程调用了join()方法时,此线程需要一段时间运行(或者知道线程运行结束),同时其他线程要把资源让给此线程,也就是你们先给我一段时间让我把事情做了,其参数就是这段时间需要多久,没有参数意思就是等我做完了,你们再做。
public class JoinTest { public static void main(String args[]) throws InterruptedException { Join2 join2 = new Join2(); join2.start(); join2.join(); Join1 join1 = new Join1(); join1.start(); } } class Join1 extends Thread { public void run() { for (;;) System.out.println("Join1"); } } class Join2 extends Thread { public void run() { for (;;) System.err.println("Join2"); } }
上面的代码 join2.join();没有指明参数,那么这种情况下就必须等join2线程运行结束,join1线程才会启动,这时console里看到的都是红色的“Join2”字符串。
但是如果将join2.join();改成join2.join(10000);那么也就是等join2运行10秒中,无论join2有没有结束,join1都会启动,这时前10秒console看到的都是红色"Join2"字符串,10秒以后红色"Join2",黑色"Join1"间隔出现。
相关推荐
Java学习笔记主要涵盖以下几个核心知识点: 1. **JDK与JRE**:Java Develop Kit (JDK)是Java开发工具包,包含了Java编译器、JRE(Java Runtime Environment)和其他开发工具。JRE是Java运行环境,它是执行Java程序...
Java学习笔记主要涉及Java语言的历史背景、语言特点、应用平台和学习建议。以下是对这些内容的详细解析: ### Java语言的历史背景 Java起源于1990年代初的Sun公司(现为Oracle公司的一部分)的“绿色项目”计划,...
这份"java学习笔记-初学者的福音"涵盖了从基础到进阶的多种概念,旨在帮助初学者系统地掌握Java编程。 首先,Java的基础部分包括语法结构。Java是一种面向对象的语言,这意味着它将数据和操作数据的方法封装在类中...
尚硅谷康师傅java学习笔记。 、2020-4-5 java学习笔记 2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 ...
这份"2022年Java学习笔记-Java课程配套案例.rar"压缩包文件显然是为了帮助学习者深入理解Java编程,通过实践案例来巩固理论知识。下面将详细探讨Java语言的一些核心知识点,并结合压缩包中的案例进行说明。 1. **...
Java学习笔记是专门为Java初学者设计的一套详尽的学习资源,旨在帮助新手快速掌握这门广泛使用的编程语言。这份笔记涵盖了从基础概念到高级特性的全面内容,是学习和复习Java知识的理想工具。 1. **Java简介** ...
这些知识点构成了一个完整的Java学习体系,无论你是初入Java殿堂的新手,还是寻求提升的老兵,都能从中受益。《良葛格 Java 学习笔记-JavaGossip全(v1+v2)》作为网络共享资源,不仅提供了丰富的学习材料,也体现了...
【Java学习笔记】 在Java的学习旅程中,深入理解其核心概念是至关重要的。Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和稳定性而受到青睐。本笔记集合将带你逐步走进Java的世界,从基础语法到...
### Java学习笔记——基础知识详解 #### 一、Java开发环境(JDK)与运行环境(JRE) Java技术的核心在于其强大的跨平台能力,这主要得益于Java的两大环境:JDK(Java Development Kit)和JRE(Java Runtime ...
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
Java学习笔记是初学者探索Java编程世界的宝贵资源。这份由老师精心整理的课程笔记涵盖了Java的基础到进阶知识,旨在帮助新手快速理解并掌握这门强大的面向对象编程语言。笔记内容可能包括但不限于以下方面: 一、...
本学习笔记旨在重新巩固并深入理解Java的基础知识,帮助读者建立起扎实的编程基础。 ### 第一部分:Java的第一个应用 在Java的学习旅程中,编写第一个"Hello, World!"程序是必不可少的起点。以下是一个简单的示例...
java学习笔记2(多线程)java学习笔记2(多线程)
本压缩包文件“《java学习》-Java 学习笔记.zip”包含了丰富的学习资源,帮助初学者和进阶者深入理解Java编程。 1. **Java基础知识** - **语法**:Java的基础语法包括变量、数据类型、运算符、流程控制语句(如if-...
Java是一种广泛使用的面向对象...这些只是Java编程中的基础概念,随着学习深入,还会涉及到异常处理、集合框架、IO流、多线程、网络编程、数据库连接等内容。理解并熟练掌握这些知识点,将为Java程序员打下坚实的基础。
这个“Java版设计模式学习笔记”涵盖了多种设计模式,旨在帮助开发者更好地理解和应用这些模式。让我们深入探讨一下其中可能包含的关键知识点。 一、单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
Java学习笔记 Java是一种流行的编程语言,广泛应用于Android应用程序开发、Web应用程序开发、桌面应用程序开发等领域。以下是Java学习笔记的摘要信息: 一、Java技术基础 * 1.1 编程语言:Java是一种面向对象的...
7. **多线程**:Java内置了对多线程的支持,通过Thread类或实现Runnable接口可以创建并运行多个线程,实现并发执行。 8. **接口与内部类**:接口定义了一组方法签名,提供了一种实现多继承的方式。内部类(包括成员...
在Java并发编程中,线程安全是一个至关重要的概念,它涉及到多线程环境下对共享数据的正确管理和访问。线程安全意味着当多个线程同时访问一个对象或数据时,对象的状态能够保持一致性和完整性,不会因为并发导致数据...