Java j2me从运行线程获取结果

发布于 2024-12-02 23:44:57 字数 478 浏览 1 评论 0原文

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' 变量;

Hej,

I know how to pass parameters to a Runnable. But when my Thread has run, how to get the result of the process?

    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();

when t is finished i want to get the 'endresult' variable;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人如玉 2024-12-09 23:44:57

您必须等待线程终止,然后才能直接获取字段值:

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

You have to wait for your thread to terminate and then you can get the field value directly:

t.join();
y = s.endresult;
无人问我粥可暖 2024-12-09 23:44:57

声明 endresult volatile 并在启动后调用 t.join - 当 t 完成时,这将获得“endresult”值

declare endresult volatile and invoke t.join after it was started - when t is finished this will get the 'endresult' value

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文