当为磐石 2019-12-21 22:53 采纳率: 0%
浏览 219

关于在同一个类中启动子线程修改公共属性的问题。

今天在做一个数据库作业的时候,用了netbeans来做一个作业,但是报了个空指针错误,搞了两个小时终于知道哪里有问题,但是还是不知道是啥问题,我另外写了一个测试程序,如果能搞清楚这个问题的话,那么我想我也就知道怎么做了,希望有哪位大哥哥小姐姐帮忙看一下,感激不尽。

public class Test {
    private static Person p;
    private void set() {
        p=new Person(null, 0);
        System.out.println("fsdaf");
    }
    public static void main(String[] args) {
        new Thread(new Runnable() {

            @Override
            public void run() {
                new Test().set();
            }

        });
        //System.out.println(p);
    }

}

这样没有打印信息,我想问的是,为什么set方法里面的打印语句不执行,还有,如果去掉main方法里面的打印注释,打印结果为null。我没有c币,来白嫖的,对不起,哈哈哈

  • 写回答

1条回答 默认 最新

  • 王能 2019-12-23 10:49
    关注

    1.你的thread都没有start,怎么可能会打印呢?
    2.就算执行了start,main的打印基本上还是null(不能说绝对,但不是null的概率几乎为0),因为开了线程变成异步的了,当然是下一行的代码比新线程执行的快。

    问答版主就是牛,从现在起只回论坛,不在踏入问答半步

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条