2011-09-02 7 views
1

Hej,Java j2me 실행 결과 가져 오기 스레드

매개 변수를 Runnable에 전달하는 방법을 알고 있습니다. 하지만 내 스레드가 실행되면 프로세스의 결과를 얻는 방법은 무엇입니까?

class Some implements Runnable 
{ 
    int p; 
    int endresult = 0; 

    public Some(int param){ 
     p = param; 
    } 

    public void run(){ 
     //do something 
     endresult += p; 
     //Now how to let the method who executed this runnable know that the result is 2; 
    } 
} 

Some s = new Some(1); 
Thread t = new Thread(s); 
t.start(); 

t가 끝나면 'endresult'변수를 가져오고 싶습니다.

+0

정말 도움이 될만한 사람이 있습니까? –

답변

1

당신은 당신의 스레드가 종료 할 때까지 기다릴 필요가 그리고 당신은 직접 필드 값을 얻을 수 있습니다 :

t.join(); 
y = s.endresult; 
+0

진지한가? 그래 시도해 볼께. –

+0

아니요, 작동하지 않습니다 .... –

+0

_ 작동하지 않습니다. 정확히 어떻게 작동합니까? FWIW 하워드의 길에서 빠진 유일한 것은'endresult'에 대한'휘발성'수정 자처럼 보입니다. – gnat

1

선언 endresult volatile을하고이 시작된 후 t.join를 호출 - t이 완료되면이 얻을 것이다 ' endresult 'value