当前位置: 首页 > 编程笔记 >

Java之Thread的join方法实例

袁秦迟
2023-03-14
本文向大家介绍Java之Thread的join方法实例,包括了Java之Thread的join方法实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Java之Thread的join方法。分享给大家供大家参考。具体实现方法如下:

join
public final void join()
throws InterruptedException等待该线程终止。

抛出:
InterruptedException - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。
 
下面的例子 通俗的讲,就是A调用join方法后,只有等A所在的线程不再运行,才会将进程分配出去

public class joinThread { 

    public static void main(String [] args) throws Exception{ 

        ThreadTest5 t = new ThreadTest5(); 

        Thread A = new Thread(t); 

        Thread B = new Thread(t); 

        A.start(); 

        A.join();         //此处A调用 Thread的join方法,主函数将线程分配给A,当A运行完毕后,才会将线程释放出去。给其他的对象。 

        B.start(); 

        for (int i = 1;i < 20;i++) 

        { 

            System.out.println("树上掉苹果"+ i); 

        } 

        System.out.println("苹果没了"); 

    } 

}

class ThreadTest5 implements Runnable {     public void run()     {         for (int i = 1;i < 10;i++)         {             System.out.println(Thread.currentThread().getName()+"吃苹果"+(i));         }     } }

运行结果为:

Thread-0吃苹果1
Thread-0吃苹果2
Thread-0吃苹果3
Thread-0吃苹果4
Thread-0吃苹果5
Thread-0吃苹果6
Thread-0吃苹果7
Thread-0吃苹果8
Thread-0吃苹果9
树上掉苹果1
树上掉苹果2
树上掉苹果3
树上掉苹果4
树上掉苹果5
树上掉苹果6
Thread-1吃苹果1
树上掉苹果7
Thread-1吃苹果2
树上掉苹果8
Thread-1吃苹果3
树上掉苹果9
Thread-1吃苹果4
树上掉苹果10
Thread-1吃苹果5
树上掉苹果11
Thread-1吃苹果6
Thread-1吃苹果7
Thread-1吃苹果8
Thread-1吃苹果9
树上掉苹果12
树上掉苹果13
树上掉苹果14
树上掉苹果15
树上掉苹果16
树上掉苹果17
树上掉苹果18
树上掉苹果19
苹果没了

Thread-0 值得就是A所在的线程,当A所在的线程运行完毕后,之后的线程由main主函数和B进程争夺。

希望本文所述对大家的Java程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Java Thread之Sleep()使用方法总结,包括了Java Thread之Sleep()使用方法总结的使用技巧和注意事项,需要的朋友参考一下 一、API简介 Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常。。主要方法如下: 【a】sleep(

  • 本文向大家介绍JAVA多线程之方法 JOIN详解及实例代码,包括了JAVA多线程之方法 JOIN详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 JAVA多线程 JOIN  对于Java开发人员,多线程应该是必须熟练应用的知识点,特别是开发基于Java语言的产品。本文将深入浅出的表述Java多线程的知识点,在后续的系列里将侧重于Java5由Doug Lea教授提供的Concurrent并行包

  • 本文向大家介绍JAVA CountDownLatch与thread-join()的区别解析,包括了JAVA CountDownLatch与thread-join()的区别解析的使用技巧和注意事项,需要的朋友参考一下 今天学习CountDownLatch这个类,作用感觉和join很像,然后就百度了一下,看了他们之间的区别。所以在此记录一下。 首先来看一下join,在当前线程中,如果调用某个threa

  • 问题内容: 在学习Java 9功能时,我遇到了一种叫做的新方法。根据javadocs,此方法用于此目的: 指示呼叫者暂时无法继续进行,直到其他活动发生一项或多项动作为止。 有人可以帮助我理解这种方法,提供真实的例子或场景吗? 问题答案: 它与x86操作码相同(并且可能会编译为),并等效于Win32宏,GCC 和C#方法 这是一种非常弱化的屈服形式:它告诉您的CPU您处于一个循环中,该循环可能会消耗

  • 本文向大家介绍Java多线程join方法实例代码,包括了Java多线程join方法实例代码的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是Java多线程中join方法的使用问题,以下文为具体实例。 Thread的非静态方法join()让一个线程B“加入”到另外一个线程A的尾部。在A执行完毕之前,B不能工作。例如: Thread t = new MyThread(); t.start();

  • 主要内容:1 什么是Java join()方法,2 Java join()方法语法,3 Java join()方法例子1,4 Java join()方法例子21 什么是Java join()方法 Java join() 方法表示等待线程死亡。换句话说,它导致当前正在运行的线程停止执行,直到与之连接的线程完成其任务为止。 2 Java join()方法语法 3 Java join()方法例子1 输出结果为: 如上例所示,当t1完成其任务时,t2和t3开始执行。 4 Java join()方法例子2