当前位置: 代码迷 >> Eclipse >> JAVA,这个有什么区别?该怎么解决
  详细解决方案

JAVA,这个有什么区别?该怎么解决

热度:41   发布时间:2016-04-23 00:18:55.0
JAVA,这个有什么区别?
各位大大,刚开始学习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()啊,当然不一样了。
  相关解决方案