我想要一个线程返回列表。我不能使用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而不是Runnable。
这是一个如何使用的可调用对象:https://blogs.oracle.com/CoreJavaTechTips/entry/get_netbeans_6