2012-06-21 8 views
-1

나는 Main()있어 일정에 스레드로 실행 가져옵니다. 예외가 발생하면 (e.printStackTrace) 스레드는 중단되고 다음 시작될 때까지 대기합니다.메인() 하위 클래스 내에서

예외를 발생시키지 않고 스레드를 중단 할 수 있기를 원합니다. Main() - 클래스 내부는 매우 쉽습니다. 단지 "return false"이며 스레드가 종료됩니다.

그러나 클래스/클래스의 개체 안에있을 때, 나는 그렇게 할 수 없습니다. 하위 클래스 내에서 Main을 중단하거나 마칠 수 있습니까?

+1

당신은 아마도 우리에게 몇 가지 코드를 보여줄 수 메소드로부터 반환 그냥 명백한? – arshajii

답변

-1

System.exit (0)을 시도해 볼 수 있습니다.

작동하는지 알려주세요.

+0

나는 그가 전체 프로그램을 나가고 싶지 않다는 인상하에 있었다. – arshajii

0

내가 제대로 이해한다면 전체 프로그램을 종료하지 않고 일부 스레드를 종료 하시겠습니까?

들어가는 모든 하위 메소드에서 돌아와야합니다. run() 스레드가 스레드 내부를 어떻게 보는지 보여줄 수 있습니까?

예를 들어

: 일부 기능 (doSomething())에서 반환 당신이 방법 run()에서 반환해야하는 경우 :

@Override 
public void run() { 
    while (true) { 
     doSomething(); // - your main function 
    } 
} 

그냥 어떤 조건을 확인하십시오. 당신이 설정 값 boolean exiting = true;을 종료하고 루프 내부를 검사 할 경우 어떤 스레드를 닫 if (exiting) return;

올바른 방법을 우리가 뭔가를 할 수 있도록 run

관련 문제