Java线程join()方法有哪些功能呢?

Java-经验王 Java经验 发布时间:2021-04-17 09:22:34 阅读数:13221 1

Java线程join()方法的功能说明

           Java线程join()方法的功能:用于暂停当前线程执行
                join方法有三个重载方法

  • public final void join():这个java线程join()方法使当前线程处于等待状态,直到调用它的线程死亡,当线程被中断,则抛出InterruptedException异常。

  • public final synchronized void join(long millis): 这个java线程join()方法用于等待它被调用的线程死或等待指定的毫秒,因为线程执行依赖于OS实现,因此不保证当前线程只等待给定时间。

  • public final synchronized void join(long millis, int nanos):这个java线程join()方法用于等待线程死亡给定的毫秒加纳秒


例:

public class testClass {

    public static void main(String[] args) {
        Thread t1 = new Thread(new testClassB(), "t1");
        Thread t2 = new Thread(new testClassB(), "t2");
        Thread t3 = new Thread(new testClassB(), "t3");

        t1.start();
 
        try {
            t1.join(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        t2.start();
 
        try {
            t1.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        t3.start();
 
        try {
            t1.join();
            t2.join();
            t3.join();
        } catch (InterruptedException e) { 
            e.printStackTrace();
        }

        System.out.println("所有线程关闭!");
    }

}

class testClassB  implements Runnable{

    @Override
    public void run() {
        System.out.println("线程开始:"+Thread.currentThread().getName());
        try {
            Thread.sleep(4000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("线程结束:"+Thread.currentThread().getName());
    }

}
-----运行以上代码,将输出以下信息----
线程开始:t1
线程开始:t2
线程结束:t1
线程开始:t3
线程结束:t2
线程结束:t3
所有线程关闭
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/1618623503274.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者