日期:2014-05-20  浏览次数:20707 次

为什么只有一个线程在运行
class   MultiThread  
{  
          public   static   void   main(String[]   args)  
                    {  
                                  MyThread   mt=new   MyThread();  
                                  new   Thread(mt).start();  
                                  new   Thread(mt).start();  
                                  new   Thread(mt).start();  
                                  new   Thread(mt).start();  

                                  int   index=0;  
                                  while(true)  
                                {  
                                              if(index++==1000)  
                                              break;  
                                              System.out.println(Thread.currentThread().getName());  
                                }  
                }  
}  

class   MyThread   implements   Runnable  
{  
                      int   index=0;  
                      public   void   run()  
                        {  
                                      while(true)  
                                      {  
                                              System.out.println(Thread.currentThread().getName()+ ": "+index++);  
                                        }  
                          }  
}  


运行时有四个线程在运行.当改成如下代码时,只有一个线程在运行.


class   MultiThread