마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Thread를 도중에 그만두게 할 수 있을까요?

0 추천

 

 

Thread내부에서 서버와 데이터 전송을 하는데

void run() {

  try {

    서버서버서버 접속접속

   데이터데이터

     switch(nNumber) {

     case INIT :

               !! 이 부분에서 INIT이면 아래 서버접속 데이터전송 부분을 실행하지 않고

                  나가게 하고 싶은데 방법이 있을까요? return;은 안되더라구요.

     break;

    case NUMBER :

             특별한 로직 실행 후 아래 서버 접속접속접속 데이터 전송전송 부분을 타야합니다.

           여기다가 서버 접속접속접속 데이터 전송전송 부분을 다 명시하면 되는데 소스가 길어지니까 ㅜㅜ

          여기는 한줄만 넣으면 되거든요... 값만 상황에 맞게 넣으면 되는 상황이라서...

 

     break;

    case PERIOD:

             특별한 로직 실행 후 아래 서버 접속접속접속 데이터 전송전송 부분을 타야합니다.

           여기다가 서버 접속접속접속 데이터 전송전송 부분을 다 명시하면 되는데 소스가 길어지니까 ㅜㅜ

          여기는 한줄만 넣으면 되거든요... 값만 상황에 맞게 넣으면 되는 상황이라서...

     break;

 } // end switch

   서버 접속접속접속 데이터 전송전송

 } // end try

} // end Thread

 

결론적으로 INIT에서는 그냥 아래서버 접속접속접속 데이터 전송전송 부분을 타지 말고

Thread가 끝나야 하는 것이고, 

나머지 NUMBER, PERIOD는서버 접속접속접속 데이터 전송전송송 부분을 타야 하는 부분이라서

위에 명시해놨듯이 그냥 서버 접속접속접속 데이터 전송전송 이것을 NUMBER, PERIOD

Case 구분에 다 넣어버리면 되지만 그러면 소스가 많이 길어져서 ....

 

INIT일 때만 Thread 서버 접속접속접속 데이터 전송전송을 실행하지 않도록 하는 방법이 뭐가 있을까요?

 

 

긴 글 읽어주셔서 정말 감사합니다.

Goni2 (770 포인트) 님이 2015년 4월 14일 질문
Goni2님이 2015년 4월 14일 수정

3개의 답변

0 추천
아무것도 없이 break 걸면 안되나요??^^;;

그리고 아무 case에도 해당안되면 default 로 접속 데이터 전송 할 수 있을거같아요^^;;

 

저도초보라 ㅠㅠ
익명사용자 님이 2015년 4월 14일 답변
0 추천
return 이 왜 안먹히든가요? 그렇다면 break를 써주던가 아님

if( nNumber != INIT) {

   서버 접속접속접속 데이터 전송전송

}

이렇게 감싸서 해결해보시는거두.....
nicehee (73,100 포인트) 님이 2015년 4월 14일 답변
nicehee님이 2015년 4월 14일 수정
0 추천
Break; 를 써주셔야 될것 같은데요...

 

그리고 쓰레드를 종료하는 방법은

null 하여 GC를 호출하는 방법입니다
익명사용자 님이 2015년 4월 14일 답변
...