问答详情
源自:3-2 synchronized实现可见性代码(上)

为啥我运行好多次,结果都是6

为啥我运行好多次,结果都是6

提问者:guawa 2018-06-07 10:53

个回答

  • 一叶秋才
    2018-09-17 10:32:19
    已采纳

    这个Dome告诉你 编译时可能存在其它结果,导致数据不安全

    public static void main(String[] args) {
        SynchronizedDemo synchronizedDemo=new SynchronizedDemo();
    
           synchronizedDemo.new ReadWriteThread(true).start();
           synchronizedDemo.new ReadWriteThread(false).start();
       
    
    
    }
    public static void main(String[] args) {
        SynchronizedDemo synchronizedDemo=new SynchronizedDemo();
        synchronizedDemo.new ReadWriteThread(false).start();
           synchronizedDemo.new ReadWriteThread(true).start();
       
    
    
    }

    颠倒下模拟编译时可能出现的情况就行啦

  • qq_Morpheus丶_0
    2019-03-15 21:54:56

    https://img1.mukewang.com/5c8bae85000163c206720405.jpg

    会不一样的

  • 慕码人5302264
    2018-07-27 09:53:25

    我也是一直都是6


  • 韦煾
    2018-06-08 17:04:41

    你代码没有跟老师写的一样的吧,检查下代码吧