안드로이드 개발 질문/답변
(글 수 45,052)
하나의 엑티비티에서 2개의 쓰래드를 만들어서 실행하고...
하나의 핸들러를 두고 메세지를 받습니다.(쓰레드 중 한개만 메세지를 보냅니다)
두개의 쓰레드는 모두 무한루프를 돌고있습니다
stop버튼을 클릭했을때 interrupt() 메소드를 통해 두개의 쓰래드 모두 루프문을 빠져나오고 run()메소드가 종료되게 됩니다.
start버튼을 클릭하면 이 스레드들을 다시 시작시키고 싶은데.. start()메소드는 이미 실행중이라는 오류가 나더군요
그래서 isFirst라는 flag를 두어서 처음이 아닐떄는 start버튼 클릭스 run()메소드를 다시 호출하게 했더니..
첫번째 호출되는 스레드만 실행이되고, 조금 있다가 keydispatchingtimeout 에러와 함께 액티비티가 종료됩니다.
보통 스레드를 중지,재시작 할때는 어떠한 방식으로 해야하나요?
(suspend()와 resume()메소드가 제공되던데 이건 호출해도 스레드가 정지하지 않더군요;)



