我是靠谱客的博主 温暖音响,最近开发中收集的这篇文章主要介绍JAVA线程中join方法可以强占CPU资源直至执行结束,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

好记性不如赖笔头…………

join()方法在API中的说明:

void     join()      等待该线程死亡。  

可以理解为当线程调用了这个方法时,它会强占CPU资源,直到线程执行结果为止。
注意:这里说的是强点,而不是抢占,也就是说当这个线程调用 了join方法后,线程抢占到CPU资源,它就不会再释放,直到线程执行完毕。

示例代码如下:

---------------------------------------------------------------------------继承Thread的子类---------------------------------------------------------------------------

package com.Ckinghan.threadEach;

public class JoinThread extends Thread {

    public JoinThread(String name) {
        super(name);
    }

    @Override
    public void run() {
        for(int i = 0; i < 30; i++){
            System.out.println(this.getName()+" 正在执行:"+i);
        }
    }
}


---------------------------------------------------------------------------测试代码---------------------------------------------------------------------------

package com.Ckinghan.threadEach;

public class JoinDemo {

    public static void main(String[] args) {
        /**
         * 创建三个线程
         */
        JoinThread joinThread = new JoinThread("小二");
        JoinThread joinThread2 = new JoinThread("小三");
        JoinThread joinThread3 = new JoinThread("小四");


        try {
            //启动线程
            joinThread.start();
            //强占CPU资源,直至线程执行结束
            joinThread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        joinThread2.start();

        joinThread3.start();

    }

}


---------------------------------------------------------------------------执行结果---------------------------------------------------------------------------

小二 正在执行:0
小二 正在执行:1
小二 正在执行:2
小二 正在执行:3
小二 正在执行:4
小二 正在执行:5
小二 正在执行:6
小二 正在执行:7
小二 正在执行:8
小二 正在执行:9
小二 正在执行:10
小二 正在执行:11
小二 正在执行:12
小二 正在执行:13
小二 正在执行:14
小二 正在执行:15
小二 正在执行:16
小二 正在执行:17
小二 正在执行:18
小二 正在执行:19
小二 正在执行:20
小二 正在执行:21
小二 正在执行:22
小二 正在执行:23
小二 正在执行:24
小二 正在执行:25
小二 正在执行:26
小二 正在执行:27
小二 正在执行:28
小二 正在执行:29
小三 正在执行:0
小四 正在执行:0
小三 正在执行:1
小三 正在执行:2
小三 正在执行:3
小三 正在执行:4
小三 正在执行:5
小三 正在执行:6
小三 正在执行:7
小三 正在执行:8
小三 正在执行:9
小三 正在执行:10
小三 正在执行:11
小三 正在执行:12
小三 正在执行:13
小四 正在执行:1
小四 正在执行:2
小四 正在执行:3
小四 正在执行:4
小四 正在执行:5
小四 正在执行:6
小四 正在执行:7
小四 正在执行:8
小四 正在执行:9
小四 正在执行:10
小四 正在执行:11
小四 正在执行:12
小四 正在执行:13
小四 正在执行:14
小四 正在执行:15
小四 正在执行:16
小四 正在执行:17
小四 正在执行:18
小四 正在执行:19
小四 正在执行:20
小三 正在执行:14
小三 正在执行:15
小四 正在执行:21
小四 正在执行:22
小四 正在执行:23
小四 正在执行:24
小四 正在执行:25
小四 正在执行:26
小四 正在执行:27
小四 正在执行:28
小四 正在执行:29
小三 正在执行:16
小三 正在执行:17
小三 正在执行:18
小三 正在执行:19
小三 正在执行:20
小三 正在执行:21
小三 正在执行:22
小三 正在执行:23
小三 正在执行:24
小三 正在执行:25
小三 正在执行:26
小三 正在执行:27
小三 正在执行:28
小三 正在执行:29

从上面的结果看出,当线程 “小二”抢取了CPU资源并调用 了join()方法后,它就会一直强占CPU资源,直到线程执行完毕。

最后

以上就是温暖音响为你收集整理的JAVA线程中join方法可以强占CPU资源直至执行结束的全部内容,希望文章能够帮你解决JAVA线程中join方法可以强占CPU资源直至执行结束所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部