各位大大,刚开始学习JAVA,请问
Xc xc1=new Xc( );
Thread aa=new Thread( xc1);
跟
Thread aa=new Thread( new Xc( ) );
有什么区别?
public class L6_8 {
public static void main(String[] args){
//Xc8 xc8=new Xc8();
//Thread xc1=new Thread(xc8);
//Thread xc2=new Thread(xc8);
Thread xc1=new Thread(new Xc8());
Thread xc2=new Thread(new Xc8());
xc1.setName("海珠站(1)");
xc2.setName("白云站(2)");
xc1.start();
xc2.start();
}
}
class Xc8 implements Runnable{
private static int chepiao=100;
String aa=new String("1");
public void run(){
while(true){
synchronized(aa){
if(chepiao>0){
System.out.println(Thread.currentThread().getName()+"卖第"+(101-chepiao)+"张票");
--chepiao;
}else{
break;
}
}
}
}
}
用上面两种方式分别执行,显示的结果不一样
------解决思路----------------------
//Xc8 xc8=new Xc8();
//Thread xc1=new Thread(xc8);
//Thread xc2=new Thread(xc8);
Thread xc1=new Thread(new Xc8());
Thread xc2=new Thread(new Xc8());
下面的是new了两个Xc8()啊,当然不一样了。