登录
首页 >  文章 >  java教程

多线程修改变量值,为何主程序显示原值?

时间:2024-11-26 18:25:03 193浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《多线程修改变量值,为何主程序显示原值?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

多线程修改变量值,为何主程序显示原值?

在线程中修改变量值,主程序为何仍显示原值

我们针对这个问题进行分析:

public class main {

    public static void main(string[] args) throws interruptedexception {
        values va = new values();
        va.seta(2);
        system.out.println("main:" + va.geta());

        threademo td = new threademo();
        td.start();
        td.join();

        system.out.println("mainthread:" + va.geta());
    }

}

在主程序中,我们创建了一个 values 类的实例 va,并设置其 a 字段为 2。然后,我们启动一个线程 td 并等待它完成。

public class values {
    private int a;

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }
}

线程 td 中没有对 va 变量进行任何修改,因此 va 在主程序中的值不会改变。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《多线程修改变量值,为何主程序显示原值?》文章吧,也可关注golang学习网公众号了解相关技术文章。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>