我正在学习多线程,我无法将结果形成一个实现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()不起作用,因为'我的'是线程,但我不能使我的'我的' MyRunnable也是。我认为扩展Thread而不是实现Runnable会解决问题,但我的老师说我们不应该这样做。
我需要在main中生成结果,因为我需要将它与MyRunnable2中的result2一起写入文件(与MyRunnable完全不同的任务)
任何想法如何获得结果?
答案 0 :(得分:0)
试试这个:
public static void main(String[] args) {
MyThread runnable = new MyThread();
Thread mine = new Thread(runnable);
mine.start();
mine.join();
runnable.getResult();
}
一条建议:为MyThread
提供一个不同的名称Runnable
,可能会误认为是Thread
。