昨天看到一段代码,觉得有些疑惑。大致代码如下:
public class Thread1 extends Thread
{
public void run()
{
try
{
System.out.println(getName()+" sleep "); //getName()获得线程名
this.sleep(1000); //睡眠1秒钟
}
catch(InterruptedException e)
{ System.out.println(e.getMessage()); }
System.out.println(getName+"end");
}
public static void main(String[])
{
(new Thread1("A")).start();
(new Thread1("B")).start();
(new Thread1("C")).start();
}
}
结果是:A sleep B sleep C sleep A end B end C end
为什么不是 A sleep A end B sleep B end C sleep C end ?