- 로그캣
java.lang.IllegalStateException : Thread already started (Main Activity에서 에러납니다.)
-내용
문제가 되는 부분은 찾아서 테스트 코드 만들어 봤는데 왜 에러가 나는지 모르겠습니다.
1. 싱글톤 패턴이 적용되고 Thread를 상속 받은 클래스가 있습니다.
2. MainActivity에서 위 객체의 인스턴스를 가지고 오고 start()를 호출해 스레드를 가동 시킵니다.
3. 프로그램 정상 종료 후 다시 프로그램 실행시 위 에러나 납니다.
- 테스트 코드
MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tt = Test.getInstance(); // tt는 멤버 변수
if(!tt.isAlive())
tt.start();
}
tt의 run이나 생성자에서는 아무것도 하지 않습니다.