解决方案 »

  1.   

    你并没有在线程运行过程中(run函数中)改变flag的值啊,那怎么会变呢。
      

  2.   

    setter(flag)
    while(true){
        if(){}
        else{}
    }
      

  3.   

    run调用了show,show里面有参数flag,new Game(true)和new Game(false)不改变了flag值吗,求详解。
      

  4.   

    这是两个对象,flage不是静态的.t1有一个flage.t2有一个flage.两个没有关系.
      

  5.   

    t1里的flag就是true的,t2里的flag就是false的,这没什么问题啊。
    你这是开了两条线程,而且两条线程里的数据各不干扰。
    不知道你期望得到什么样的结果了。
      

  6.   

    为什么第二个线程Thread t2=new Thread(new Game(false))会调用else,这是怎么样的逻辑啊!
      

  7.   

    谢谢大家的回复,我知道我纠结在什么地方了,我把true和false变量,而不是结果,倒置思维错误!切记。
      

  8.   

    你是NEW的对象,不是指针指向的!