Exception in thread java.lang.IllegalThreadStateException

比较好理解的抛出:非法线程状态抛出

出现这个问题的原因是:

对一个状态为RUNNABLE的线程再次调用start()方法,或者对一个状态为TERMINATED再次调用start()方法。

总之,在线程的某种状态时做了不合理的操作。

解决原理很简单,启动多个线程即可。

问题例子:

1 @Autowired
2 TcpClientSocketThread clientThread;
3 ......
4   if (condition){
5       clientThread.start();
6   } 
7 ......

改正后的例子:

1 // @Autowired
2 // TcpClientSocketThread clientThread;
3  ......
4    if (condition){
5        TcpClientSocketThread clientThread = new TcpClientSocketThread();
6        clientThread.start();
7    } 
8  ......
原文地址:https://www.cnblogs.com/yoyotl/p/5259108.html