java - 如何使线程返回java中对象的arraylist?

标签 java multithreading arraylist

我想要一个线程返回列表。我不能使用 run 方法,因为它的返回类型是 void。我在一个类中的一个单独的私有(private)方法中使用线程,该线程的调用方法也存在于该类中。调用者需要来自线程结果的列表来进行一些操作。这是我的主题。请帮助我理解如何从此线程返回列表。

private List<myObject> fetchmyObjList(final String abc){
        new Thread(new Runnable() {

            @Override
            public void run() {

                try {
                    List<myObject> myObjList = anotherInternalMethod(abc);
                } catch (Exception e) {
                            System.out.println(e);

                    }
                }


        }).start();



    }

我怎样才能让这个线程返回 myObjList 给调用者??请帮忙。

最佳答案

你需要Callable而不是可运行的。

这是一个如何使用的调用:https://blogs.oracle.com/CoreJavaTechTips/entry/get_netbeans_6

关于java - 如何使线程返回java中对象的arraylist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245059/

相关文章:

java - xml 字符串比较的字符串比较失败

c# - 为什么 ReaderWriterLock 在所有者线程终止时不自动释放/退出?

java - 当客户端断开连接时,服务器不会删除/断开套接字

c# - 只有一个锁定对象的“死锁”?

java - 需要过滤2个列表并添加到java中的单独列表中

java - 像 Python 元组一样排序和合并 Java ArrayList

java - 如何使用 GUI intelliJ 显示框架

java - 如果值为 null,则保留 FreeMarker 标记

java - 使用 java 小程序查看 .doc 文件

java - 将 List<Object> 上的值与其他 List 进行比较,并在不知道索引的情况下更新其他值