for循环中循环的次数是3次,为什么两个线程会出现6个结果呢?不是两个线程一共循环3次吗?

解决方案 »

  1.   

    线程是代码的执行器。每个线程都会执行对应的run方法。
    两个线程,就会分别调用对应对象的run方法。
    一个对象也会被调用两次。
    要想两个线程完成一个线程的代码执行次序,相当于序列化代码,最简单的办法就是添加同步块
      

  2.   

    你启动了2个线程实例,每个实例运行自己的run方法,所以有2个for循环执行了,共打出6个
      

  3.   

    用this.synchronized{}块把for同步就可以了