【发布时间】:2017-05-13 13:52:57
【问题描述】:
我正在学习多线程,但我无法从实现 Runnable 的线程中获取结果。我的代码如下所示:
public class MyRunnable implements Runnable {
String result;
public void run (){
//calculcate result
}
public String getResult(){
return result;
}
}
和:
public class Main {
public static void main(String args[]){
Thread mine = new Thread (new MyRunnable());
mine.start();
mine.join();
mine.getResult(); //This does not work
}
}
mine.getResult() 不起作用,因为 'mine' 是 Thread,但我也不能使 'mine' MyRunnable。我认为扩展 Thread 而不是实现 Runnable 可以解决这个问题,但是我的老师说我们不应该这样做。
我需要 main 中的结果,因为我需要将它与 MyRunnable2 中的 result2 一起写入文件(与 MyRunnable 完全不同的任务)
任何想法如何得到结果?
【问题讨论】:
-
您需要保留对
new MyThread()对象的引用,并在以后使用该引用。
标签: java multithreading