public class SecondThread implements Runnable { int i; @Override public void run() { for(;i<20;i++){ System.out.println(Thread.currentThread().getName()+"-"+i); } } public static void main(String[] args) { for(int i=0;i<20;i++){ System.out.println(Thread.currentThread().getName()+"-"+i); if(i==10){ SecondThread st=new SecondThread(); new Thread(st,"线程1").start(); new Thread(st,"线程2").start(); } } } }
输出结果中 线程1和线程2后面的i应该是共享的并且连续的,如线程2-0、线程1-1、线程1-2、线程2-3、线程1-4、线程1-5、线程2-6...
但我跑了很多次,发现每次线程1和线程2都会输出0:线程1-0,线程2-0。但后面的数字就是连续交替的的,为什么偏偏这个0都会输出一次?
慕瓜9220888
半枯
慕娘0009941
相关分类