게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안드로이드에서 스레드 사용 관련 질문드립니다.
게시물ID : programmer_22146짧은주소 복사하기
작성자 : 형광젖소
추천 : 0
조회수 : 779회
댓글수 : 3개
등록시간 : 2018/02/26 16:01:43
옵션
  • 본인삭제금지
public class Activity extends AppCompatActivity {

      void onCreate()
        button.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
            Thread t = new Thread(MyRunnable);
            t.start();

            try {
                t.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            ccc();
...
...
         }
     });
}

        private class MyRunnable implements Runnable{
            @Override
            public void run() {
                aaa();
            }
        }

...

void aaa(){
bbb();
...
}

...
}

구조는 대략 이렇습니다.
버튼을 클릭하면 스레드 t에서 aaa()를 실행하고 내부의 bbb()와 aaa()까지 완전히 끝나고 나면 ccc()를 시작하게 하려고 합니다.

스레드에 익숙하지 않아서 여기저기서 예시들 찾아봤는데요.. 
join을 사용하면 그 스레드가 완전히 끝날 때까지 다음으로 넘어가지 않는다고 하여 join을 사용해보았습니다만
Toast를 이용해서 확인해보니 스레드 t 내용이 끝나기도 전에 ccc()와 그 아래 내용들이 실행되더라구요.

제가 스레드를 어느 부분에서 잘못 사용하고 있는건가요?



전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호