在线程上多次调用start()会发生什么

eso*_*oni -9 java multithreading

如果我调用start()线程A,导致它运行,然后start()在它仍在运行时再次调用,会发生什么?

例:

myThread.start();

// myThread is running...  

myThread.start(); 
Run Code Online (Sandbox Code Playgroud)

Dav*_*rtz 5

一个IllegalThreadState会抛出异常.在线程启动之后无法将线程恢复到"等待启动"状态,因此无论线程在第一个之后处于什么状态,第二个线程都start将处于错误状态.