从线程

时间:2017-05-13 13:52:57

标签: java multithreading

我正在学习多线程,我无法将结果形成一个实现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完全不同的任务)

任何想法如何获得结果?

1 个答案:

答案 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