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  ......

 

posted @ 2016-03-10 13:37  一沙世界  阅读(824)  评论(0编辑  收藏  举报