如何讓一個(gè)線程不斷跑起來(lái),并且在取到值的時(shí)候能返回值而線程能繼續(xù)跑呢?
我們都知道可以用Callable接口獲得線程的返回值,或者觸發(fā)事件監(jiān)聽(tīng)來(lái)操作返回值,下面我將介紹另一種方法。
public abstract class Test implements Runnable { public String A; //開(kāi)啟線程 public void run() { while(true) { //此處寫(xiě)該方法的邏輯代碼 //listen()方法操作取得值A(chǔ) listen(A); } } //定義一個(gè)抽象方法listen() public abstract void listen(String A); }
這樣,線程取到值將存放在抽象方法listen()里,并且線程也將一直跑起來(lái)而不會(huì)停止。
當(dāng)我們需要用到這個(gè)值時(shí),只需要重寫(xiě)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(); }}
以上就是本知識(shí)點(diǎn)的全部?jī)?nèi)容,感謝大家對(duì)VeVb武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選