关于Java中线程取值并返回的方法

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

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

 

 1 public abstract class Test implements Runnable {
 2     public String A;
 3 
 4     //开启线程
 5     public void run() {
 6         while(true) {
 7             //此处写该方法的逻辑代码
 8             
 9             //listen()方法操作取得值A
10             listen(A);
11             
12         }
13 
14     }
15 
16     //定义一个抽象方法listen()
17     public abstract void listen(String A);
18 
19 }

 

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

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

 1 public class Main {
 2 
 3     public static void main(String[] args) {
 4         Thread thread = new Thread(new Test() {
 5             
 6             @Override
 7             public void listen(String A) {
 8                 // TODO Auto-generated method stub
 9                 
10             }
11         });
12         thread.start();
13     }
14 }

 

posted @ 2018-10-09 16:29  chancaoer  阅读(1837)  评论(0编辑  收藏  举报