`
steadyman
  • 浏览: 9892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 线程--join()

    博客分类:
  • J2SE
阅读更多

public class ThreadTest implements Runnable {
public static int a = 0;

public void run() {
for (int k = 0; k < 5; k++) {
a = a + 1;
}
}

public static void main(String[] args) throws Exception {
Runnable r = new ThreadTest();
Thread t = new Thread(r);
t.start();
t.join();  //主要用于等待t线程运行结束,若无此句,main则会执行完毕,导致结果不可预测
System.out.println(a);
}
}




这个时候,程序输入结果始终为5。
分享到:
评论

相关推荐

    JAVA线程高级-线程按序交替执行

    - `join()`方法让调用的线程等待目标线程执行完毕后再继续执行。 2. **`synchronized`关键字**: - `synchronized`用于实现线程同步,防止数据的不一致性。它可以修饰方法或代码块,当一个线程进入同步块/方法后...

    【IT十八掌徐培成】Java基础第08天-02.多线程-join-daemon-同步.zip

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。多线程是Java中的核心特性,它使得程序能够同时...多线程-join-daemon-同步.avi"的视频教程,你可以深入学习这些概念,并通过实例加深理解。

    Java多线程--等待所有子线程执行完的五种方法.docx

    在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...

    Java多线程--让主线程等待所有子线程执行完毕

    ### Java多线程--让主线程等待所有子线程执行完毕 #### 核心知识点解析 在Java多线程环境中,让主线程等待所有子线程执行完毕是一个常见的需求,尤其是在处理大量数据或进行高性能计算时。这不仅有助于正确测量...

    Java的多线程-线程间的通信.doc

    在Java多线程编程中,线程间的通信是非常重要的概念,用于协调多个并发执行的任务。线程的状态转换是理解线程通信的基础,主要包括四个状态:新(New)、可执行(Runnable)、死亡(Dead)和停滞(Blocked)。新状态...

    北大Java--多线程

    - Java线程有优先级,通过`setPriority()`方法设置。线程调度策略可能依赖于操作系统的具体实现,但通常优先级高的线程会被优先调度。 5. **多线程的互斥与同步**: - 互斥是指在同一时刻,只有一个线程能访问...

    Java多线程-多线程知识点总结和企业真题

    ### Java多线程知识点总结及企业真题解析 #### 一、知识点总结 ##### (1)多线程相关概念 1. **程序、进程和线程的区分**: - **程序**:为了完成特定的任务而编写的指令集合。它是静态的概念。 - **进程**:...

    Java多线程-线程的生命周期

    线程状态之间的转换是由Java API的方法调用触发的,如`start()`、`sleep()`、`wait()`、`join()`等。了解这些状态和转换机制对于编写高效的并发程序至关重要,因为它有助于避免死锁、饥饿和其他并发问题。在实际编程...

    java编程 ---线程

    线程的基本控制包括:`sleep()`让线程暂停一段时间,`join()`使当前线程等待另一个线程结束,`yield()`让当前线程让出CPU使用权,以及`interrupt()`中断线程。 **4. 使用`synchronized`关键字** `synchronized`用于...

    Java多线程-Thread类的常用结构及线程优先级

    - `join()`:等待该线程结束,调用者线程会阻塞直到该线程执行完毕。 - `isAlive()`:判断线程是否还在执行。 3. 过时方法 - `stop()`:停止线程,这个方法可能导致数据不一致,已被废弃。 - `suspend()` ...

    经典Java --线程

    Java线程是多任务编程的重要概念,它允许程序同时执行多个独立的任务,从而提升程序的效率和响应性。在Java中,线程可以分为两类:用户线程和守护线程。用户线程是应用程序的主要执行部分,而守护线程则是为用户线程...

    java-7-openjdk-amd64.tar.gz

    1. **多线程改进**:例如,引入了Fork/Join框架,可以更高效地处理并行任务。 2. **动态类型语言支持**:加入了 invokedynamic 字节码指令,支持Clojure、Groovy等动态语言。 3. **字符串改进**:字符串去除了共享...

    JAVA-JavaThreadProgramming-Sams.zip_JAVA 设计_java 多线程_java 线程_多线程

    Java线程编程是Java开发中的重要组成部分,尤其在构建高性能、高并发的应用程序时不可或缺。本资料"JAVA-JavaThreadProgramming-Sams.zip"提供了一套详细的教程,旨在深入讲解Java中的多线程设计和实现。 Java多...

    Java-for-thread.zip_java 线程

    Java线程是编程中的一个重要概念,特别是在开发高并发和实时响应的应用程序时。Java作为一种多线程编程语言,允许开发者在同一程序中同时执行多个独立的代码段,这极大地提高了程序的效率和性能。下面我们将详细探讨...

    Java线程中wait,await,sleep,yield,join用法总结.pdf

    以上就是对Java线程中wait、await、sleep、yield、join用法的总结。这些方法在实际开发中,对于控制多线程运行的时序和协调非常关键。理解这些方法的正确使用方式是掌握Java并发编程的基础。同时,使用时需特别注意...

    Java线程状态流转图

    Java线程状态流转图知识点总结 Java线程状态流转图是一种用于描述Java线程生命周期中不同的状态和状态转换的图形表示方式。该图形展示了Java线程从创建到终止的整个生命周期,并详细介绍了每种状态的特点和转换...

    java多线程源码-source

    Java提供了几种方法来控制线程的执行,如sleep(), join(), yield(), interrupt()等。sleep()方法使当前线程进入睡眠状态;join()让当前线程等待指定线程结束后再继续执行;yield()则让当前线程暂停,给其他线程执行...

    利用Thread创建线程-java

    Java线程有10个优先级,`Thread.NORM_PRIORITY`(默认优先级)是5,`Thread.MIN_PRIORITY`是1,`Thread.MAX_PRIORITY`是10。但是,线程调度器可能不会严格按照优先级执行,具体取决于操作系统。 5. **守护线程...

    java线程实例 各种小Demo

    Java线程是多任务编程的重要概念,它允许程序同时执行多个独立的任务,从而提高系统效率和响应速度。在Java中,线程可以分为用户线程和守护线程,前者是程序运行的基础,而后者是在所有用户线程结束时才终止的后台...

    Java--多线程编程

    `Thread.join()`可以让一个线程等待另一个线程完成;`Thread.sleep()`可以使当前线程暂停一段时间。在实际开发中,还需要关注死锁、活锁、饥饿等并发问题,并利用Java提供的工具如`Semaphore`, `CountDownLatch`, `...

Global site tag (gtag.js) - Google Analytics