Error Note

[Error Note] 24. 쓰레드 동시 실행 오류 : Illegal Thread State Exception

Song hyun 2024. 5. 16. 17:25
728x90
반응형

[Error Note] 25. 쓰레드 동시 실행 오류 : Illegal Thread State Exception

 

팀 프로젝트를 수행하는 도중, Illegal Thread State Exception이라는, 난생 처음 보는 오류를 만나게 되었다. 

바로 illegal Thread State Exception. 서치해보니 해당 오류는 Thread.start()가 두 번 이상 호출되면(중복 실행) 나타나는 오류인 것 같다.

Illegal Thread State Exception

 

 

내가 수행하고 있는 팀프로젝트는 유명한 게임 "팩맨"을 자바 스윙으로 구현하는 일이다.

과일 아이템을 한 번 먹으면 무적상태가 되어, 유령(적 캐릭터)들과 닿아도 죽지 않고 점수가 올라간다.

 

상태에 따라 backToNormal()/attackable() 메서드 두 개(쓰레드를 호출하는 메서드)를 번갈아 호출하게 된다.

찬찬히 코드들을 살펴보고 있으니, player의 setInitLayout() 메서드 부분에서 이미 두 쓰레드가 실행이 되고 있는 상태였다. 즉, Start()가 두 번 선언된 것이다.

 

setInitLayout() 내부의 쓰레드 호출을 지우고 나니 오류가 말끔히 해결되었다. 새로운 오류를 만나고, 고치는 방법을 찾게 되어(아주 조금이지만...) 뿌듯했다. 

728x90
반응형