현재 앱개발을 하고있는 초보입니다;
쓰레드가 종료가안되는 현상이 일어나고있습니다.
setViewthread = new Thread() {
public void run() {
ss.out.println("175|");
setViewthread.interrupt();
}
};
setViewthread.start();
gameWaitng = new Thread() {
public void run() {
try {
while (ReadListen) {
msg = ss.in.readLine();
handler.post(new Runnable() {
@Override
public void run() {
try {
msgs = msg.split("\\|");
protocol = msgs[0];
switch (protocol) {
//서버 프로토콜 처리
}
}catch (NullPointerException e) {
}
}
});
}
}catch(NullPointerException e){
} catch (IOException e) {
e.printStackTrace();
}
}
};
gameWaitng.start();
@Override
public void onBackPressed() {
gameClose = new Thread() {
public void run() {
ss.out.println("400|");
gameClose.interrupt();
}
};
ReadListen = !ReadListen;
synchronized (gameWaitng) {
try {
handler.removeMessages(0);
gameWaitng.interrupt();
gameWaitng.join(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
gameClose.start();
Intent i = new Intent(getApplicationContext(),MainActivity.class);
i.setFlags(i.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
@Override
protected void onStop() {
super.onStop();
if(gameWaitng != null && gameWaitng.isAlive()){
gameWaitng.interrupt();
}
}
Handler handler = new Handler();
}
위의 코드와같이 gameWaiting 쓰레드를 onBackPress가 호출되면 종료를 시키고싶은데
어떤짓을 해봐도 종료가 되질않습니다
어떻게 하면 좋을까요?