每当我开始我的线程时,我总是做这个检查.我没有找到任何我在线程上调用start而没有进行下面的检查
if (!myThread.isAlive())
myThread.start();
Run Code Online (Sandbox Code Playgroud)
然而,我最终得到了IllegalThreadStateException:Thread已经启动了.这实际上崩溃了我的应用程序(android).那么在启动线程之前还需要做一些其他的检查吗?
MBy*_*ByD 11
您应该检查线程是否已经使用getState()启动并仅在其状态为NEW时启动它,否则创建新线程(如果需要).
您是否使用 new 为 myThread 引用创建一个新实例?您只能在单个实例上执行一次 myThread.start() 。
检查它是否还活着并不是正确的方法。创建一个新实例。
| 归档时间: |
|
| 查看次数: |
9373 次 |
| 最近记录: |