저는 플레이어와 무작위로 봇을 이동시키는 매우 간단한 Java 게임을 만들었습니다. 플레이어는 버튼을 눌러지도에 봇을 추가 할 수 있으며, 버튼을 누르면 봇의 새 스레드가 만들어집니다.스레드가 동일한 이름을 갖고 있음에도 불구하고 스레드를 구별합니다.
는 그래서 내가 여러 로봇이 생성되는 버튼을 여러 번을 누르면
Thread newBotThread = new Thread(new Runnable(){
public void run(){
, 그들은 모두가 'newBotThread'스레드 이름으로 실행됩니다 ... 이런 식으로 뭔가를 보이는? 플레이어가 봇과 상호 작용할 수있게 해주는 함수를 추가하고 있습니다. 스레드가 모두 동일한 이름을 가지고 있더라도 스레드를 구별하는 방법이 있습니까? 그래서 한 봇을 멈출 수 있었고 다른 봇은 계속 진행할 수 있었습니까?
고마워요!
이 코드는 "봇 추가"버튼의 이벤트 처리기에서 실행됩니까? 그렇다면 한 블록의 봇만 사용해도 해당 블록 외부의 변수에 어떻게 액세스합니까? 게임 클래스에 봇 컬렉션 인 필드가 있다고 생각하면 이벤트 핸들러가 스레드를이 컬렉션에 추가합니다. – The111
각 스레드는 고유 한'Thread.getId()'를 가지고 있습니다 –