必威体育Betway必威体育官网
当前位置:首页 > IT技术

thread.join()方法的理解

时间:2019-10-24 16:13:27来源:IT技术作者:seo实验室小编阅读:67次「手机版」
 

thread.join

1。问题由来(这个程序得到的结果是0)

package com.haut.thread;

/**
 * @author shuiyu_lei
 * @date 2017/12/16
 */
public class AccountingVol implements Runnable {

    static AccountingVol accountingVol = new AccountingVol();
    static volatile int i = 0;

    public static void increase() {
        i++;
    }


    @Override
    public void run() {
        for (int j = 0; j < 1000; j++) {
            increase();
        }
    }

    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(accountingVol);
        Thread thread1 = new Thread(accountingVol);
        thread.start();
        thread1.start();
        System.out.println(i);
    }
}

2继续看,现在程序得到的值小于2000

package com.haut.thread;

/**
 * @author shuiyu_lei
 * @date 2017/12/16
 */
public class AccountingVol implements Runnable {

    static AccountingVol accountingVol = new AccountingVol();
    static volatile int i = 0;

    public static void increase() {
        i++;
    }


    @Override
    public void run() {
        for (int j = 0; j < 1000; j++) {
            increase();
        }
    }

    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(accountingVol);
        Thread thread1 = new Thread(accountingVol);
        thread.start();
        thread1.start();
        thread.join();
        thread1.join();
        System.out.println(i);
    }
}

3。理解如果不使用join方法,得到的i基本上是0或者 很小的数字,因为thread和thread1线程可能还没开始运行地,主线程程序就把i的值输出了,使用了join方法后,表示这个主线程愿意等待这个新加入的线程,直到它执行完。

文章最后发布于: 2017-12-16 16:51:26

相关阅读

终止线程两个函数:ExitThread() 和 TerminateThread()

若要终止线程的运行,可以使用下面四种的方法:线程函数退出循环来返回   (最佳方法 )。通过调用ExitThread 函数,线程将自行撤消(尽

数学建模常用模型23:马尔可夫预测方法

马尔可夫预测的性质及运用 对事件的全面预测,不仅要能够指出事件发生的各种可能结果,而且还必须给出每一种结果出现的概率,说明被预

将iPhone照片导出、iCloud照片备份到电脑的方法

iPhone上传照片到iCloud后本地保存的是一个缩略图,更换手机时通过iTools、爱思助手导出相册需要将这些照片下载原件到手机,一个图片

DNF4月签到活动奖励领取方法 每天签到就可以领取到好

新一期的dnf签到活动开始啦,每天签到就可以领取到好礼,想要知道DNF4月签到活动有哪些奖励吗,一起来看看吧。4月签到奖励活动时间:4月1

回归分析中的评价方法

回归(Regression)不同于分类问题,在回归方法中我们预测一系列连续的值,在预测完后有个问题是如何评价预测的结果好坏,关于这个问题目前

分享到:

栏目导航

推荐阅读

热门阅读