这个问题的原因是:同一个Thread重复调用了start方法,如果你想开启多个线程,并且共享资源的时候,有两个方法
1.把共享资源设置为static
2.使用runnable
下面是一组上产上述错误原因的代码
public class Test1 {
public static void main(String[] args) {
Thread thread = new Demo();
thread.start();
thread.start();//这里删掉就不会报IllegalThreadStateException异常
}
}
class Demo extends Thread{
int x = 0;
@Override
public void run() {
while(true){
if(x>100){
System.out.println(x++);
}
}
}
}
转载于:https://blog.51cto.com/13579086/2067261