이 코드 발견 this question을 검토하는 동안 : 이해가 안하지만 왜이 실패왜이 코드가 실패 할 수 있습니까?
class MyThread extends Thread {
private boolean stop = false;
public void run() {
while(!stop) {
doSomeWork();
}
}
public void setStop() {
this.stop = true;
}
}
합니다. 다른 스레드가 "실제"정지 변수에 액세스하지 못합니까?
에서 언급 한 바와 같이? MyThread의 동일한 인스턴스 또는 다른 인스턴스에서? –
불행히도이 질문에 대한 추상적 인 예는 –
입니다. setStop은 다른 스레드에서 호출 될 것입니다. 모든 실행 방법은 멈추기 위해해야만합니다. 반환 만하면 플래그가 필요 없습니다. –