서버에서 sleep 를 거시면 앱에서 API를 호출하면 해당 sleep 가 걸린 시간동안 대기 하게됩니다.
즉 서버에서 결과를 내려줄때까지 기다리게 되는거죠, 당연한겁니다.
다시 생각해보시면 앱에서 서버로 API를 요청하였고 서버에서 응답을 주지 않은 상태로 10초의 딜레이를 주었는데 앱에서는 어떻게 결과를 받을 수 있을까요?
안드로이드 쓰레드 문제가 아니라 API 응답대기가 문제인듯 하네요
지금 하시려는게 임시 비밀번호를 발급하고 특정시간내에 해당 난수값을 입력하지 않으면 소멸시키려는걸 하시려는 건가요?
Redis 를 이용하시면 손쉽게 구현이 가능합니다. 그렇지 않은경우 가장간단한 방법으로는 앱에서 타이머로 입력시간을 제한하시고 해당 시간이 지나면 임시 비밀번호 초기화 API를 호출하여 날려주시면 될듯하네요
대신 그에 따른 예외처리 또한 많이 필요하구요
Redis를 사용하시면 특정 시간동안만 사용할 수 있도록 데이터를 저장할 수 있습니다. 데이터 저장시 5분이란 시간을 걸어두면 5분동안만 메모리상에 올라가며 5분뒤에는 자동으로 소멸됩니다.
흔히 말하는 메모리디비 입니다