当前位置: 首页 > 面试题库 >

如何通过线程访问可运行对象?

滑乐逸
2023-03-14
问题内容

你好。我有一个实现runnable的类,并且有一个List,用于存储用该类的不同对象实例化的线程。给定运行线程对象的基础对象,如何访问基础对象的属性?这是一个例子:

public class SO {
    public static class TestRunnable implements Runnable {
        public String foo = "hello";

        public void run() {
            foo = "world";
        }
    }

    public static void main(String[] args) {
        Thread t = new Thread(new TestRunnable());
        t.start();
        //How can I get the value of `foo` here?
    }
}

问题答案:

我在java.lang.Thread文档中看不到任何方法。

那么,我最好的答案是您可能应该使用List<Runnable>而不是(或在之上)使用List<Thread>。或者,也许您想要某种映射结构,以便可以从线程访问Runnable。(例如,java.util.HashMap<java.lang.Thread,java.lang.Runnable>



 类似资料:
  • 问题内容: 我有一个正在运行的线程,但是从外面我无法绕过一个值来停止该线程。如何在内部发送false / true值或调用运行线程的公共方法?当我按下按钮1?例如: 或 跟进(校对): 问题答案: 如果您通过类而不是通过a定义它,则可以调用实例方法。 还要注意,由于多个内核具有自己的关联内存,因此您需要警告处理器该状态可能在另一个处理器上更改,并且它需要监视该更改。听起来很复杂,但只需将’vola

  • 我正在使用启动作业。问题:我如何线程化这些调用?以便最多有4个作业线程可以并发运行,而任何其他作业都只是排队?

  • 问题内容: 我通过实现可运行接口创建了类,然后在项目的其他一些类中创建了许多线程(将近10个)。 如何停止其中一些线程? 问题答案: 在 最简单的 办法就是它,这将导致返回,也可能抛出在某些情况下,其中线程 等待 ,例如,,等。 在方法内部,您需要捕获该异常和/或定期检查该值并执行某些操作(例如,细分)。 注:虽然看起来一样,它有一个讨厌的副作用:调用 清零 的标志,而呼叫没有。 其他非中断方法包

  • 问题内容: 随着的发布,我一直在尝试一些新的API,其中之一是。 我注意到警告之一是针对。 这是警告: 并给出了在UI线程上进行的调用。 是否应该真正从UI线程进行访问和更改? 问题答案: 很高兴您已经在玩它! 注意事项:( 以懒惰的子弹形式) 如果这是您遇到的最严重的问题,则您的应用程序可能是个不错的选择。:)写操作通常比读操作慢,因此请确保使用的是SharedPreferenced $ Edi

  • 我看了一些其他帖子,试图复制他们所做的,但他们似乎都没有遇到与我相同的问题。基本上,我试图存储S3存储桶中的密钥列表,以便在我的Vue应用程序中迭代它们。我有下面的代码,你可以看到我有3个控制台。记录我试图打印文件值的语句。第一个完全按照我的预期打印,而第二个打印,而第三个根本不打印。因此,出于某种原因,它没有将文件的值持久化到s3之外。listObjectsV2()函数,这意味着我无法访问应用程

  • 问题内容: 我已经添加了 到/ etc / default / docker以使Docker API在我的主机上可访问(我在Ubuntu VM上的Virtualbox中运行Docker)。但是,当我尝试立即运行任何Docker命令时,我只会收到以下错误消息: 我尝试了sudo service docker restart,并重新启动了机器,但没有任何反应。知道是什么问题吗? 问题答案: 要通过tc