Thread对象错误提示:Thread already started.???明明停止了,为什么还在运行??
本帖最后由 sno_guo 于 2014-08-19 11:51:28 编辑
大家好,我在一个按钮的onclick事件中这样写:
isStop=false;
mReaderThread.start();
try {
mReaderThread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i(TAG,"RCV------------------read end");
线程的主函数 是这样的:
mReaderThread = new Thread() {
private byte[] mBuffer = new byte[4096];
private int cnt=0;
@Override
public void run() {
try {
while(isStop==false) {
int read = mThreadFileIn.read(mBuffer);
if (read >0)
{
String str=new String(mBuffer, 0, read);
Log.i("sno","RCV:"+str);
mRcvString+=str;
isStop=true; ////<-------------这里标志退出
}
}
Log.i(TAG,"thread------is End");
} catch (IOException e) {
}
}
};
我的操作是: 当我第一次点击按钮, 可以start 一个线程, 然后我看打印信息也提示, 退出了runnable,用join也判断运行完毕, 但当我第二次点击按钮, 却出错,提示说:java.lang.IllegalThreadStateException: Thread already started.
请问下为什么, 明明用join等待运行完成, 为什么还提示说 已经start。 我如何停止呢, 我调用stop方法,也不行。
谢谢?
------解决思路----------------------我也不会,帮你顶一下吧!