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

时间:2022-09-18 09:42:25

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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()方法就可以啦。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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();
  }
}

以上就是本知识点的全部内容,感谢大家对服务器之家的支持。