Java j2me получить результат от запуска потока - PullRequest
1 голос
/ 02 сентября 2011

Hej,

Я знаю, как передать параметры в 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;

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

объявляет endresult volatile и вызывает t.join после его запуска - когда t закончится, получится значение 'endresult'

1 голос
/ 02 сентября 2011

Вам нужно дождаться завершения потока, а затем вы можете получить значение поля напрямую:

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