class chatThread extends Thread {
boolean run = true;
public void run() {
try {
while (run) {
String msgs;
Message msg = new Message();
msgs = streamIn.readLine();
msg.obj = msgs;
mHandler.sendMessage(msg);
}
}catch(Exception e) {
}
}
public void setRun(boolean run){
this.run=run;
}
public boolean getRun(){
return this.run;
}
}
제 스레드 코드입니다.
이걸 멈추기위해서 setRun(false) 해주면 멈추긴 하는데
다시 시작하려고 setRun(true) 해줘도 run함수내의 코드가 작동을 안하네요
while문을 빠져나와버려서 그런거같은데 run함수는 start 해놓고 따로 interrupt 안하는이상 계속 돌아가고 있는것 아닌가요?
혹시나해서 getRun해서 현재 run값 찍어보면 의도한대로 제대로 나오는데
저런식으로 멈춘 쓰레드를 다시 돌리는법이 궁금합니다.