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

스레드 작업 종료까지 메인스레드를 대기하게 하려면 어떻게 해야할까요?

0 추천
안녕하세요

volley로 디비에서 데이터를 가져올때까지 기다렷다가 다음코드를 진행하고싶은데

volley의 response에서 다음코드를 진행하게 하려니까 response부분이 너무 길어지고 변수도 전달해줘야하고 복잡하더라구요..

 

그래서 메인스레드에서 volley호출을 스레드로 떼서 실행하고

volley응답이 올때까지 메인스레드는 기다렸다가 다음코드를 진행하게 하고싶은데요

메인스레드가 서브스레드작업 종료시까지 대기하게 하려면 어떻게 해야할까요?

 

volley의 future?를 쓰면 동기식으로 할수도 있다고 하는데 동기식으로 하면 또 ANR이 발생하지 않을까

생각되어 스레드로 떼서 하려고 합니다...

 

스레드 개념이 별로 없어서 질문이 무지랭이같을수 있습니다..... 조언 부탁드립;니다..
하다 (640 포인트) 님이 2021년 5월 1일 질문

1개의 답변

0 추천
 
채택된 답변
Thread.join() 아마도 님이 찾은 기능 같은 데요. 안드로이드에서는 보통은 쓰레드를 직접 핸들링하기 보다는 RxJava나 coroutine같은 라이브러리를 통해서 처리합니다. 혹 라이브러리가 필요하시다면,

https://github.com/techyourchance/thread-poster

을 사용하시면 될 거예요. 다른 쓰레드 간에 join 을 쉽게 할 수 있도록 지원합니다.
spark (226,420 포인트) 님이 2021년 5월 1일 답변
하다님이 2021년 5월 1일 채택됨
...