本帖最后由 朱皓 于 2012-2-26 22:40 编辑
你想要什么样的结果啊 ,出现这样是很正常啊,这个是两个线程公用了一份资源的结果啊
一个线程执行到49的时候被另一线程抢去了执行权,所以就从48开始输出,到这个线程执行完了,
刚刚那个线程又抢回了执行权,就把49输出了.过程就是这样
其实你因该这样写,更方便分析问题
public class Hello implements Runnable
{
private int count=50;
public void run()
{
for(int i=0;i<100;i++)
{
if (count >0)
System.out.println(Thread.currentThread().getName()+":"+ count--);
}
}
} |