我有 Thrad 和 Handler:
Handler handler = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
super.handleMessage(msg);
//do somethink
}
};
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
//do somethink
msg.obj = 1;
handler.sendMessage(msg);
thread.interrupt();
}
});
当应用启动时,第一次 thread.start(); 一切正常。 但是当我第二次尝试从按钮启动 thread.start(); 时,我有:
E/MessageQueue-JNI﹕ java.lang.IllegalThreadStateException: Thread already started.
最佳答案
您应该在启动之前检查该线程的状态。
if (thread.getState() == Thread.State.NEW)
{
thread.start();
}
关于java - 当我第二次运行线程时 : java. lang.IllegalThreadStateException: 线程已经启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007381/