java 程序开了两个线程为什么只有一个线程执行?
代码如下classaimplementsRunnable{publicinti=100;Stringstr=newString("abc");publicvoidrun(...
代码如下
class a implements Runnable
{
public int i = 100 ;
String str = new String("abc") ;
public void run()
{
synchronized(str)
{
while(i>0)
{
System.out.println("线程" + Thread.currentThread().getName()
+"正在卖第" + i + "张票") ;
--i ;
}
}
}
}
class h
{
public static void main(String [] args)
{
a l = new a() ;
Thread i = new Thread(l) ;
Thread j = new Thread(l) ;
i.start() ;
j.start() ;
}
}
执行结果只有Thread-0 在执行,为什么? 展开
class a implements Runnable
{
public int i = 100 ;
String str = new String("abc") ;
public void run()
{
synchronized(str)
{
while(i>0)
{
System.out.println("线程" + Thread.currentThread().getName()
+"正在卖第" + i + "张票") ;
--i ;
}
}
}
}
class h
{
public static void main(String [] args)
{
a l = new a() ;
Thread i = new Thread(l) ;
Thread j = new Thread(l) ;
i.start() ;
j.start() ;
}
}
执行结果只有Thread-0 在执行,为什么? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询