在主函数的中,我对Thread类做了两种方法的传参:
1.建立Ticket对象用Ticket的引用传参
2.用了Ticket的匿名对象对Thread传参
1.的输出结果:20张票被共享了
2.的输出结果:20张票没有共享,Thread-0与Thread-1各自卖出了20张.
问题:这两种传参不是一样的吗,为什么输出结果不一样?
- class Ticket implements Runnable
- {
- private int tick = 20;
- public void run()
- {
- while(true)
- {
- if(tick>0) System.out.println(Thread.currentThread().getName()+" Ticket: "+tick--);
- else
- break;
- }
- }
- class T2
- {
- public static void main(String[] args)
- {
- Ticket t = new Ticket();
- Thread t1 = new Thread(t);
- Thread t2 = new Thread(t);
- t1.start();
- t2.start();
- }
- }
复制代码
|
|