스레드가 인터럽트되었을 때 객체 속성을 변경할 수 있습니까?Java : 스레드가 인터럽트되었을 때 객체 속성을 변경하십시오.
내가 하나 개의 스레드를 중단하고 클릭 한 셀의 속성 중 하나의 값을 변경하려면 셀을 클릭 할 때 내가
if(!clickedCell.isSnake()) {
for(Snake snake : board.getSnakeList()) {
if(snake.isSelected()) {
snake.interrupt();
}
}
}
이 가능합니다 보드 (셀 매트릭스)를 가지고 인터럽트 예외를 catch하고
try{
//some code;
} catch (InterruptedException ex){
// how do i catch the cell's x and y here so that i can do something like
// snake.setFinalCell(clickedCell);
}
finally{
notifyAll();
}
감사합니다.
무엇 클릭 한 셀을 어딘가에 저장하고 catch 부분의 속성에 액세스하는 방법에 대해 설명합니다. – Smutje
스레드가 개체가 아닙니다. 객체에는 "해당"스레드가 없습니다. 스레드를 인터럽트해도 일시 중단되지 않습니다. 'notifyAll'은 그것을 다시 시작하지 않습니다. Java는 스레드 일시 중단을 지원하지 않습니다. –
@Smutje : 정적 변수를 좋아합니까? – znaya