实现Java线程的取值并返回的方法

如何让一个线程不断跑起来,并且在取到值的时候能返回值而线程能继续跑呢?

我们都知道可以用Callable接口获得线程的返回值,或者触发事件监听来操作返回值,下面我将介绍另一种方法。

public abstract class Test implements Runnable {
  public String A;
 
  //开启线程
  public void run() {
    while(true) {
      //此处写该方法的逻辑代码
       
      //listen()方法操作取得值A
      listen(A);
       
    }
 
  }
 
  //定义一个抽象方法listen()
  public abstract void listen(String A);
 
}

这样,线程取到值将存放在抽象方法listen()里,并且线程也将一直跑起来而不会停止。

当我们需要用到这个值时,只需要重写listen()方法就可以啦。

public class Main {
  public static void main(String[] args) {
    Thread thread = new Thread(new Test() {
       
      @Override
      public void listen(String A) {
        // TODO Auto-generated method stub
         
      }
    });
    thread.start();
  }
}

以上就是本知识点的全部内容,感谢大家对呐喊教程的支持。