多线程中的非法状态异常

时间:2014-07-01 12:08:28

标签: java multithreading runtime runtime-error illegalstateexception

我是Core Java的初学者,我现在正在研究多线程。我有一个与此代码相关的疑问:

import java.io.*;
public class MyThread extends Thread
{
   public void run()
   {
       for(int i=0;i<10;i++)
       {
           try
           {
               Thread.sleep(500);
           }
           catch(InterruptedException e)
           {
               System.out.println(e);
           }
           System.out.println(i);
       }
   }

   public static void main(String args[])
   {
       MyThread mt=new MyThread();
       MyThread mt1=new MyThread();
       mt.start();
       mt.start();
   }
}

上面的代码编译,但是我在运行时遇到了非法的状态异常。这是什么原因?

1 个答案:

答案 0 :(得分:2)

您开始第一次Thread mt两次,而不是开始mt1

一旦开始运行,如果您再次尝试ThreadIllegalStateException会抛出start