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

出现这个问题的原因是:

对一个状态为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  ......

 

相关文章:

  • 2021-11-08
  • 2021-09-11
  • 2021-10-10
  • 2021-11-12
  • 2021-04-22
  • 2021-12-11
  • 2021-04-10
猜你喜欢
  • 2022-12-23
  • 2021-12-14
  • 2021-06-24
  • 2022-12-23
  • 2021-11-29
  • 2021-09-09
  • 2021-10-14
相关资源
相似解决方案