Man*_*oba 3 java multithreading
当我尝试重新开始我的线程时,我收到以下错误.
Exception in thread "Thread-1" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Unknown Source)
at com.jrat.server.Server.run(Server.java:159)
Run Code Online (Sandbox Code Playgroud)
这是一行:
if (!t.isAlive()) t.start();
Run Code Online (Sandbox Code Playgroud)
代码可以在循环(套接字处理程序)中执行多次.据我所知,这个错误意味着它无法启动新的Thread,因为它已经在运行.奇怪的是我之前有一个isAlive.
知道为什么会这样吗?
谢谢.
据我所知,这个错误意味着它无法启动新的Thread,因为它已经在运行.
不,这意味着您无法启动已经启动的线程.
您无法重新启动线程,这是您正在尝试执行的操作.从以下文档start():
抛出:IllegalThreadStateException - 如果线程已经启动.
你可能应该使用一个,ExecutorService而不是猜测 - 但是你要做的事情并不是很清楚.