这代码直接运行和调试后的结果怎么不一样?
问题描述:
class MyThread extends Thread
{
public void run()
{
for (int i=0;i<10;i++)
{
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("第"+i+"MyThread");
}
}
}
public class ThreadTest
{
public static void main(String[] args)
{
MyThread mt=new MyThread();
mt.start();
for (int i=0;i<10;i++)
{
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("第"+i+"ThreadTest");
}
}
}
打断点调试后的结果:
直接运行后的结果:
答
因为你用了线程,线程执行就是随机的,除非你使用锁机制