实现Java线程的取值并返回的方法
如何让一个线程不断跑起来,并且在取到值的时候能返回值而线程能继续跑呢?
我们都知道可以用Callable接口获得线程的返回值,或者触发事件监听来操作返回值,下面我将介绍另一种方法。
publicabstractclassTestimplementsRunnable{ publicStringA; //开启线程 publicvoidrun(){ while(true){ //此处写该方法的逻辑代码 //listen()方法操作取得值A listen(A); } } //定义一个抽象方法listen() publicabstractvoidlisten(StringA); }
这样,线程取到值将存放在抽象方法listen()里,并且线程也将一直跑起来而不会停止。
当我们需要用到这个值时,只需要重写listen()方法就可以啦。
publicclassMain{ publicstaticvoidmain(String[]args){ Threadthread=newThread(newTest(){ @Override publicvoidlisten(StringA){ //TODOAuto-generatedmethodstub } }); thread.start(); } }
以上就是本知识点的全部内容,感谢大家对毛票票的支持。